发表于: 2017-03-12 09:46:32
2 1447
今天完成的事情:
学习Object类的基本知识,以及toString()方法;
学习用super关键字;
明天计划的事情:
学习组合,final修饰变量
遇到的问题:
为什么在对于java.lang.Object进行 Ctrl+单击 时,会出现找不到源代码的情况?
解决方法:
先找到源代码压缩包:src.zip
然后,单击“Attach Source...”按钮,出现如下图所示的对话框,选择External Location单选框,之后单击”External File...“按钮,选择src.zip即可。
成功之后就会显示源代码:
收获:
1) 关于Object类的API文档注释:Object类是所有Java类的根基类。子类继承父类,就可以得到全部父类的属性和方法。
2) 关于Object类中toString()方法的注释:
3) 子类对于Object类可以进行方法重写override
4) super关键字调用构造方法
先复习一下this关键字的用法:this.指此时代表当前对象,能操作当前类里面的所有属性及方法,以及父类继承而来能被访问修饰符允许的属性和方法。
super.指代当前对象类的父类对象部分,不能操作到本类的属性和方法,能操作到父类的能被父类访问修饰符修饰符允许的属性和方法,只有当本类中调用被重写前的效果时使用super.的方法。
在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数,这些马上就要讨论。如果你想引用父类的某种东西,则非super莫属。
小结:
super是直接父类对象的引用,可以通过super来访问父类中被子类覆盖的属性或方法。
普通方法: 没有顺序限制,可以随便调用;
构造函数中:任何类的构造函数中,若是构造函数的第一行代码没有显示的调用super(...);那么Java默认都会调用super();作为父类的初始化函数。所以,这里的super();加不加都无所谓。
评论