Java-面向对象_super修饰构造器

super修饰构造器:

其实我们平时写的空构造器的第一行都有:super() -->作用 :调用父类的空构造器,只是我们一般都省略不写

    public Student(String name) {
//        super();
        this.name = name;
    }

 

如果构造器中已经显示的调用super父类的构造器,那么它的第一行就没有默认分配的super();了

子类:

    public Student(String name,int age,int num) {
//        super();
        super(name, age);//调用父类构造器
        this.num  = num;
    }

父类:

public Person(String name,int age) {
        this.name = name;
        this.age = age;
    }
    public Person() {
        
    }

 

在构造器中,super调用父类构造器和this调用子类构造器只能存在一个,两者不能共存:

因为super修饰构造器要放在第一行,this修饰构造器也要放在第一行:

 

 错误的

 

改正二选一即可:

 

 

 

posted @ 2021-02-28 02:52  别看我看路  阅读(77)  评论(0编辑  收藏  举报