标签:
super一般出现子类的构造方法中.
super语句必须写在第一行,super一般用来调用父类的构造方法.
是为了给父类的属性初始化,以便子类使用这些属性.
子类继承后,如果没有定义自己的属性或者重写自己的方法,那么当创建对象之后,对象调用的就是父类中的属性和方法.
如果拥有则使用自己的属性和方法.
在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候(调用构造器的时候)
这个子类对象里面又会创建一个父类对象super。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。(引用自http://www.cnblogs.com/xdp-gacl/p/3635948.html)
每个子类的构造器里面的super对象对父类的属性和方法都各自拥有一份.
1 public class Test { 2 public static void main(String[] args) { 3 B b = new B();//输出10 4 B b1 = new B(11);//输出0 5 } 6 } 7 8 class A { 9 int age; 10 } 11 class B extends A { 12 int age;//如果子类没有定义自己的age属性,那么this.age指向的是父类继承过来的age,那么输出结果就会是10 11 13 public B() { 14 super.age = 10;//把父类的age赋值为10 15 System.out.println(super.age); 16 } 17 18 public B(int age) { 19 this.age = age;//子类的age 20 System.out.println(super.age);//上面的构造进行了 赋值,但此构造没进行赋值 21 } 22 }
(学习记录,只供参考,后续会继续修改补充.)
标签:
原文地址:http://www.cnblogs.com/aL0n4k/p/4770262.html