一分钟读懂java的super关键字


java中提供了访问父类的成员变量,成员方法的关键字super
super.成员变量
super.成员方法(【参数1,参数2***】)

super关键字调用父类的构造方法
super(【参数1,参数2***】)
调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次,
子类的构造方法一定会调用父类的构造方法,如果将子类构造方法中不指定调用父类的哪个构造方法,那么就会默认调用父类的无参的构造方法。

**例如:**
class Animal {
    public Animal(String name) {//构造方法1
        System.out.println("我是"+name);
    }
    public Animal(String name,int age){//构造方法2
        System.out.println("我是"+name+"年龄"+age);

    }
    public Animal() {
        System.out.println("tom");
    }
    public void say(){
        System.out.println("learn");
    }
}
class Dog extends Animal{
    public Dog(){
        super("张三",12);//调用父类的构造方法2,
        // 调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次,
        //super("沙皮狗");调用父类的构造方法1
        //super.say();调用父类的say()方法
    }
}
public class Example{
    public static void main(String[] args) {
        Dog dog=new Dog();//new Dog()实例化对象时,会调用构造方法 Dog()
    }
}

运行结果:
我是张三年龄12

发布了4 篇原创文章 · 获赞 2 · 访问量 178

猜你喜欢

转载自blog.csdn.net/weixin_43135178/article/details/82430337