Super关键字

Super关键字

super注意点:

1、super调用父类的构造方法、必须在构造方法的第一个,

2、super访问父类的属性和方法,

3、super必须只能出现在子类的方法或者构造方法中

4、super和this不能同时调用构造方法

Vs this:this访问当前类的属性和方法

代表的对象不同

1、this:本身调用者这个对象

2、super:代表父类对象的应用

前提:

this:没有继承也可以使用

super:只能在继承条件下才可以使用

构造方法:

this():本类的构造

super():父类的构造

当前子类的构造方法默认先执行父类的构造方法,父类的构造方法执行在子类构造方法之前

public class application {
    public static void main(String[] args) {
        student s1 = new student();
        s1.printName("testName");
        s1.test();
    }
}

//在Java中,所以类都默认直接或间接继承Object类,Ctrl+H可以查看继承关系
public class Person {
    public Person(){
        System.out.println("父类构造方法执行了");
    }
        //私有的属性和方法无法被继承
        protected String name = "this is personName";
        public void print(){
            System.out.println("printPerson");
        }
}


//学生类,子类继承了父类,就会拥有父类的全部的方法
public class student extends Person{

    public student(){
        //隐藏代码调用了父类的无参构造方法,super();
        super();//调用父类的构造器必须要在子类构造器的第一行,否则报错
        System.out.println("子类构造方法执行了");
    }
    private String name = "this is studentName";
    public void printName(String name){
        System.out.println(name);
        System.out.println(this.name);
        System.out.println(super.name);
    }
    public void print(){
        System.out.println("studentName");
    }
    public void test(){
        this.print();
        super.print();
    }
}
posted @ 2023-12-27 13:23  chengh0618  阅读(8)  评论(0编辑  收藏  举报