类与对象课后记

类的定义:定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性。
对象则是类的具体化,是类的实例。
类通过派生可以有子类,同样也可以有父类,形成层次结构。

引用类型 vs 原始数据类型
引用一个对象的变量称为引用类型的变量,有时又简称为对象变量
诸如intfloat之类的变量称为原始数据类型的变量)

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

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

例子:MyClass obj;int value=100;

Obj=NULL value=100.

 

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

 

独特的对象引用:this

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

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

 

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

final MyClass obj = new MyClass();

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

 

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

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

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

 

两个对象的内容,其实是指它们在某一时刻的所有字段的值,内容相等,其实是就对应字段值一致。

Java中要比对两个对象的字段值,可以 重写(override基类的equals()方法

Demo: ObjectEquals.java

 

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

如果类没有定义构造函数,Java编译器在编译时会自动给它提供一个没有参数的默认构造方法. 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

同一个类可以有多个构造函数,多个构造函数之间通过参数来区分。这是方法重载的一个实例。

构造函数之间可以相互调用。

 

 

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

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

 

可以使用静态初始化块初始化类的静态字段

public class Test {

public static int value;

static   {

value=100;

  }

}

可以用对象名或类名作为前缀访问静态数据

Employee newhire=new Employee();

newhire.total_employees=1;

Employee.total_employees=1;

推荐使用类名来直接访问静态字段。

 

 

类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

 

静态初始化块只执行一次。

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

 

posted @   天启A  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示