1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 毕向东 内部类_Java基础毕向东day05 对象与对象的区别 匿名内部类 函数的执行流程。...

java 毕向东 内部类_Java基础毕向东day05 对象与对象的区别 匿名内部类 函数的执行流程。...

时间:2023-11-17 05:36:22

相关推荐

java 毕向东 内部类_Java基础毕向东day05 对象与对象的区别 匿名内部类 函数的执行流程。...

1.Car c = new Car();

Car c2 = new Car();

1> c 和 c2之间的区别?

public static void main(String[] args) {

// TODO Auto-generated method stub

Car c = new Car();

Car c2 = new Car();

System.out.println(c == c2);

}

}

class Car{

int number = 4;

String color = "red";

}

输出结果:false

表明,c和c2两个是不同的存储空间。因为在堆中的位置不一样。

2> 匿名内部类,new Car();

使用规则:1.如果是匿名内部类使用一次,那么用匿名内部类比较合适。

2.如果是多次要使用匿名内部类,就要给匿名内部类命名,不然在内存中就是垃圾了。

3>java把程序执行的流程信息都放在了栈中,可以画出堆栈执行流程图。

总结:堆中放实例化的对象,栈中放执行流程的方法信息。如果函数中包含函数,比如函数A中调用函数B,函数B中调用函数C,那么,c 函数是属于栈顶,b函数是属于栈顶下面的那个,A函数是属于栈底的那个元素。

意思就是说明,C函数最新执行完成,然后就是B函数,再然后就是A函数。

2.封装:

3.this关键字,

1>表示本类对象的引用,用户传入参数同名的情况。

2>this();表示可以调用本类的构造函数,也可以传值(“hhhh”);

3>什么this();要放在第一行?如何不放在第一行,会有什么情况发生?

this.name = name;

this();

那么这段代码肯定会报错,因为,this()只能在构造函数中互相调用,所以,在调用this()之前已经初始化了 this代表的对象。

本来,this.name 已经初始化了,this类的name属性,而打印的时候,this();什么都没有。所以不符合逻辑。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。