java课后反思

 

 

 

 在定义变量时,我们需要对变量进行初始化才可以继续进行使用,同时,对象变量如果不引用一个真实的值,则必须·对他声明为null;

 

 对于原始数据类型变量,可以使用==来进行相等,但当变量为对象变量时,则无法通过==来进行相等

public class Test {
public static void main(String[] args) {
Foo obj1=newFoo();
Foo obj2=newFoo();
System.out.println(obj1==obj2);
}
}
class Foo{
int value=100;}

 

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

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

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

 

 这个方法是类的构造方法,具有参数值;

 

 此代码无法运行是由于Foo obj1=new Foo()错误;

如果类提供了一个自定义的·构造方法,就会导致系统不再提供默认构造方法,上文代码需要添加默认的参数才可运行。

如果一个类中既有初始化块,又有构造方法,同时还设定了字段的初始值,谁说了算?

是由“public int field = 100;”说了算。就是谁比较靠后就是谁初始化起作用。执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

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

 

 

 

 静态初始化块只执行一次,创建子类型对象时,父类静态初始化块也执行。

 

posted @ 2022-10-06 15:17  橘子味芬达水  阅读(94)  评论(0编辑  收藏  举报