首页 技术 正文
技术 2022年11月15日
0 收藏 909 点赞 4,297 浏览 1079 个字

面向对象基础

1.1面向过程与面向对象的区别

面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计。但二者并不是对立的,在解决复杂问题时,通过面向对象的方式把握事物之间复杂的关系,方便分析整个系统;具体到微观时,仍然使用面向过程设计。

以开车为例,面向过程中思考

  1. 有一辆车
  2. 驾驶员上车
  3. 挂挡踩离合
  4. 车开动

而面向对象中思考

  1. 有车、驾驶员这两个个对象
  2. 车拥有挂挡离合这几个方法(还拥有属性,如性能外观)
  3. 人拥有挂挡踩离合这几个方法(同样拥有属性)

1.2 对象与类

对象是具体的事物,而类是对对象的抽象,如小明小红是对象,而人则是对小明小红的抽象,即类。

生活案例:上海大众汽车是类,你购买的其中的一辆即对象。

对象的三个特征:

  1. 对象的行为(即方法)
  2. 对象的状态(即属性)
  3. 对象标识

类之间的三种关系:

  1. 依赖(uses-a)
  2. 聚合(has-a)
  3. 继承(is-a)

1.3 定义与使用类

类的组成:属性(field),方法(method),构造方法(construtor),其他如代码块,内部类;

类的属性(成员变量):用于定义该类所含数据或静态属性

1.定义格式:【修饰符】 属性类型 属性名 = 默认值

(如不初始化则使用默认值)

2.局部变量和成员变量

Java学习 · 初识               面向对象基础一

3.引用类型

Java学习 · 初识               面向对象基础一

Java中的对象和数组即通过引用对其操作的

a)   可以理解为受限的指针

b)   但引用不能进行运算,只能赋值

c)    引用的本质是对象,指针的本质是地址

类的方法:

  1. 定义格式:

[修饰符] 返回类型 方法名(参数){代码块}

  1. 方法调用:对象.成员方法

形参和实参

参数传递:(Java中都是按值传递)

Java学习 · 初识               面向对象基础一

3.构造器

  1. 定义:constructor 构造方法 创建对象时被调用
  2. 作用:为成员变量初始化
  3. 特点:

a)   方法名与类名一致

b)   不能定义返回类型

c)    通过new调用

d)   如果没有定义构造器,系统则有默认的无参数构造方法

e)   可重载

  1. this关键字

this表示当前对象本身的一个引用

使用this:

a)   普通方法中:区分类的成员属性和形参

b)   构造方法中:来调用其他构造方法

必须位于第一条语句

c)    Static 不能使用

Java学习 · 初识               面向对象基础一

Static关键字

  1. 同static声明的成员变量为静态成员变量

a)   公用变量,被类的所有实例使用

b)   Static成员变量只有一份,被共享

c)    通过类.类属性调用

  1. 用static声明的方法为静态成员变量

a)   不需要对象即可调用方法

b)   在调用该方法时,不会传递引用对象,即static方法不可访问非static变量

c)    不可以使用this,super关键字

静态初始化块

Java学习 · 初识               面向对象基础一

上一篇: lintcode204 单例
下一篇: python3-声音处理
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898