发表于: 2017-03-14 23:27:44

2 1278


今天完成的事情:

进行下一章:构造器与垃圾收集器题,看了一半

1.    堆与栈:

a)      方法调用和局部变量运行在栈上;所有的对象运行在堆上;

b)      由于实例变量是在对象装声明的,所以实例变量生活在对象所属的空间上;

2.    构造函数:

a)      构造函数在初始化对象是运行,为一能调用构造函数的方法就是新建一个类;

b)      构造函数和方法的区别是构造函数没有返回类型;

c)      当我们new一个引用变量的时候,事实上如果我们没有编写构造函数,java虚拟机就会替我们自动生成一个空的构造函数:

Duck d = new Duck();

//系统就会自动生成下面

public Duck() {

}//注意,没有返回类型

d)      构造函数大多被使用来初始化对象状态。

3.    子类与父类运行时在内存中的状态:

当主函数调用子类的时候会根据继承状态依次创建各个对象。

4.    子类构造函数调用父类构造函数用super();

5.    从某个构造函数中调用重载版的另一个构造函数用this();

this()只能用在构造函数中,且必须是第一行,super()不能与this()同时使用。

 

明天计划的事情:学习本章剩下的内容,完成习题

 

遇到问题:

       上面刚刚说到调用继承对象时会根据继承关系一次创建对象,一直到装机对象Object()

结果做习题的时候就给忘记了。

       根据程序选择哪一个输出是正确的:

结果必须是:

因为虽然Hippo()进栈在先,但是要先创建Animial()才可以运行Hippo(),如此当然是Animal()先出结果了。。。

      

收获:

阅读要细心,善于运用,学习不是一蹴而就的事情。



返回列表 返回列表
评论

    分享到