super( )的用法
解释一下super( ) : super( )其实就相当于一个指向基类的指针,
(Java中没有指针,但是可以这样理解)。至于用法有一下三种形式:
1. super.XXX( 这里的XXX指的是父类的成员变量名即父类的属性,或者对象名)
2. super.XXX( ) ( 这里的XXX是父类中的其中一个方法名)
3. super( ) ( 这种形式指的是:调用父类没有参数的构造方法(也叫构造函数)
注意: 这里super( ) 只能放在子类的构造方法里面,并且只能放在构造方法的首句)
super( x,y,z...) (此形式指:调用父类有参数的构造方法,也必须放在子类的构造方法(成员方法不可以)里面,并且只能放在构造方法的首句。其中x,y,z是指的与父类此有参构造方法中参数数据类型相对应的子类中的参数)
package Day09;
public class Father {
public Father(){ //父类无参构造方法
System.out.println("是一个慈祥的人");
}
}
package Day09; //测试类
public class Son extends Father {
public Son(){
super(); //调用父类无参构造方法
}
public void Wan(){
System.out.println("喜欢整天打游戏!");
}
public static void main(String[] args) {
Father a=new Father(); //第一次new创建对象自动调用父类中的无参函数
//如果把这一行去掉结果只输出一行 “是一个慈祥的人”不是两行!!
Son b=new Son(); //第二次new创建对象调用了无参方法Son()里面的super调用了父类无参构造方法
b.Wan();
System.out.println("是个调皮的孩子!");
}
}
输出的结果是
是一个慈祥的人
是一个慈祥的人
喜欢整天打游戏!
是个调皮的孩子!
JAVA中super的用法
原文:https://www.cnblogs.com/zongyongheng201307/p/10931415.html