9月30Java类与对象中动手动脑

类与对象

定义了一组大体相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性

对象则是类的具体化,是类的实例。

类通过派生类可以有子类,同样也可以有父类,形成层次结构。

引用类型vs原始数据类型

“引用”一个对象的变量称为“引用类型”的变量,有时又简称为“对象变量”。

诸如int ,float之类的变量还曾为“原始数据类型”的变量

变量与内存分配

当声明一个对象类型的变量时,实际上并没有创建一个对象,此变量=null.

定义一个原始类型的变量时,会马上给其分配内存。

变量初始化

 

 

 

 

 

 

引用对象后的对象变量

 

 

 

当对象不再使用时,JVM会回收MyClass对象所占用的内存,这个过程称为“垃圾回收”。

理解赋值“=”的含义

 

 

 

独特的对象引用:this

对象中所有数据字段都是通过this指针间接引用的。

同一类中的方法可以相互调用,或者直接存取本类定义的字段,可看成其中隐含了一个this调用。

作为常量的对象变量

可以使用final定义一个“常量”对象变量

注意:“常量”对象不能指向另一个对象,但可以修改对象,比如设置它所引用对象的某公有字段值

==

当==施加于原始数据类型变量时,是比较变量所保存的数据是否相等

当==施加于引用类型变量时,是比较这两个变量是否引用同一对象。

引用代表地址,所以==实际上相当于比较两个引用类型变量中保存的对象地址是否相同。

类的构造方法

类的构造方法有时习惯上也被称为构造函数

当创建一个对象时,它的构造方法会被自动调用。构造方法与类名相同,没有返回值。

如果类没有定义构造函数,Java编译器在编译时会自动给它提供一个没有参数的默认构造方法

 

 

 

如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法

多构造函数

同一个类可以有多个构造函数,多个构造函数之间通过参数来区分

构造函数之间可以相互调用。这是方法重载的一个实例

类的初始化

可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员

类的这种“没有名字"的”成员“,多用于初始化类的字段。

 

 

 

运行结果为

 

 

 

 

 

 

由此可知道

执行类成员定义时指定的默认值或类的初始化块,先执行类成员定义时指定的默认值。

 

 

运行结果为

 

 

由此可知

静态初始化只执行一次

创建子类型的对象时,也会导致父类型的静态初始化块的执行

 
posted @ 2022-10-02 22:27  阿飞藏泪  阅读(17)  评论(0编辑  收藏  举报
1 2 3
4