发表于: 2016-06-26 11:09:02
0 1913
补充一下昨天的日报:
今天完成的事情:
1.学习java中的基础语法继承中的构造方法。
代码如下:
package 继承中的构造方法;
/**
* Created by ACER on 2016/6/25.
*/
class SuperClass{
private int n;
SuperClass(){
System.out.println("SuperClass()");
}
SuperClass(int n){
System.out.println("SuperClass("+ n +")");
this.n = n;
}
}
class SubClass extends SuperClass{
private int n;
SubClass(int n){
System.out.println("SubClass("+ n +")");
this.n = n;
}
SubClass(){
super(300);
System.out.println("SubClass()");
}
}
public class TestSuperSub {
public static void main(String arg[]){
SubClass sc1 = new SubClass();
SubClass sc2 = new SubClass(400);
}
}
这个程序的执行的程序结果如下:
SuperClass(300)
SubClass()
SuperClass()
SubClass(400)
这程序执行过程如下:
1)new一个SubClass的对象,赋值给sc1,SubClass()中的形参没有参数,会自动找到SubClass类中的中的无参的SubClass()构造方法。
执行super(300)引用基类的方法,并传递参数300,找到SuperClass中有参数的方法,并输出superClass(300);
2)执行打印SubClass();
3)new一个SubClass对象,赋值给sc2,SubClass()中有参数,先找到SubClass中的有参数的构造方法,注意一点,因为SubClass从SuperClass中继承,所以在执行打印SubClass前会找到SuperClass的无参的构造方法,执行,SuperClass()并打印;
4)执行并打印Subclass(400);
2.今天测试了PierreTask4,还是没有找到原因出在哪里,周一跟晓进姐讨论一下,并熟悉整个项目的执行流程,并写下来。
明天计划的事情:
拿到OpenResty的票,周日去看看。
遇到的问题:
对于上述流程中的打印的结果三不太明白,后来发现SubClass从SuperClass中继承,如果没有SuperClass的方法,会自找到SuperClass中的无参的方法执行。
收获:
学习基础语法中的Super关键字,继承中的构造方法,并实际操作。
评论