Java学习笔记(五)

来源:互联网 发布:梅林 访客网络设置 编辑:程序博客网 时间:2024/05/20 05:25

面向对象

1.类和对象

类:对具有特定功能的对象的抽象描述。
对象:类的具体的表现形式,类的一个实例。
思考:先有对象还是先有类?
  1. 从编码层面:先有类后有对象
  2. 从分析层面:先有对象后有类
  3. 现实世界:先有对象,后有类

2.构造方法

又称为构造器。


构造方法的特点:
  1. 构造方法名与类名同名。
  2. 构造方法没有返回类型。
  3. 任何类的内部至少要有一个构造方法,如果没有显式的定义构造方法,那么编译器会帮我们自动生成一个默认的构造方法。
  4. 默认的构造方法,是空实现的方法,没有参数。无参空实现。
  5. 如果在一个类的内部,只要显式的定义一个构造方法,那么编译器将不再提供默认的构造方法。
  6. 构造方法只能通过new 关键字来调用。
  7. 构造方法用来帮助生成本来的对象,在构造方法的方法体中,一般用来对类的成员进行初始化的工作。
  8. 一个类的内部的构造方法的个数是没有限制的。
构造方法重载:

构造方法参数列表不同。

3.局部变量 和 类的成员变量



相同点:
两种类型的变量的类型 只要是java支持的类型即可。
命名规范一致。

不同点:
  1. 作用域不同,类的成员变量的作用域:整个类(构造方法,成员方法中访问),局部变量
  2. 生命周期不同: 局部变量生命周期依赖于方法,方法结束,局部变量被销毁,成员变量的生命周期依赖于所在的对象,对象被回收了,变量也就被回收了。
  3. 内存中位置不同:局部变量在栈中分配,成员变量在堆中分配。
  4. 声明定义的位置不同,局部的在方法内声明定义,成员变量在类的内部,方法的外部声明定义。
  5. 局部变量必须赋值才能使用,成员变量可以不赋值,创建对象后,系统会对所有的成员变量默认初始化。初始化的规则:整数类型--0  浮点数--0.0 字符--0对应的字符 布尔--false  引用数据类型--null
  6. 访问的优先级,局部变量的优先级高于类的成员变量。如果一个方法内的局部变量和成员变量的名字相同,那么优先访问局部变量。
  7. 访问的方式不同:类的成员变量的访问方式:对象调用访问。 局部变量的直接访问。
原创粉丝点击