万事万物皆对象:
描述对象:类来描述对象
将对象的共同特征进行抽取进而形成类。
大象:类
属性:鼻子、眼睛...:变量
行为:跑、拔树...:函数
类与类之间的访问需要创建对象,格式为 `类名 对象名 = new 类名();`。通过对象名可以访问类的成员,例如 `对象名.成员名`。
每个 new 出来的对象都占据堆内存中的独立空间。对象间赋值会使两者指向相同的内存地址,修改一个对象的属性会影响到另一个对象。
Car car2 = car;
car2.wheels = 3;
car.show();
car.wheels += 2;
car.color = "白色";
car2.show();
这段代码主要展示了对象的创建、属性的访问和修改,以及对象间的引用关系,可通过修改属性值来验证对象之间的关联性。
成员变量与局部变量的区别 :
声明位置 :
a. 成员变量声明在函数外部,类的内部
b. 局部变量声明在函数或语句内部
默认值 :
a. 成员变量有默认值,默认值与数组动态声明默认值一致
b. 局部变量除了形式参数外都要先初始化再使用
内存中的位置 :
a. 成员变量依附于对象,存在于堆内存中
b. 局部变量依附于函数或语句,存在栈内存中
生命周期 :
a. 成员变量依附于对象,与对象同生共死
b. 局部变量在函数或者语句执行完后,就会清理掉
当内存中不再有变量引用该区域时,GC会清理堆内存中对应的区域
局部变量必须先初始化再访问
默认初始化先于显式初始化执行
匿名对象 :
1.匿名对象调用属性无意义
2.当函数只被调用一次时,可以使用匿名对象
3.匿名对象可以作为参数进行传递,其实传递的是地址值
private : 表示私有的 ; 成员被private修饰后,只能在当前类中访问
属性私有化,须提供get与set函数 set函数
1.返回值类型 : void
2.形参 : 对应成员变量的类型 开发中,禁止在get与set函数中进行逻辑判断 , 前端页面可以帮助过滤数据 见名知意
就近原则 :
this : 代表正在访问当前类的对象的类型 ; this一定是当前类的类型吗?
1.通过 this.成语名 来区分成员变量和局部变量 构造器/构造函数/构造方法/Constructor : 是用来为单个对象进行初始化的
格式 : 修饰符 类名(数据类型 变量名, 数据类型 变量名, ...){
初始化内容;
}
格式注意 :
1.构造函数没有返回值类型,也不能写 void
2.构造函数的名字就是当前类的类名
3.不能出现 return 语句
注意 :
1.当没有显式定义构造器时 , 那么JVM默认会提供一个空参构造器
2.一旦显式定义构造器,无论定义的构造器是否带参数,那么JVM都将不再提供空参构造器
3.多个构造器之间是以重载的形式存在的
类名 对象名 = new 构造器 ; 标签:初始化,函数,对象,成员,局部变量,面相,变量,语言 From: https://www.cnblogs.com/yuec5067/p/17894803.html