java.super详解

package Demo.oop.APP.Demo03;
//demo3包的启动器
//此启动器用于继承
public class application {
    public static void main(String[] args) {
        Student student = new Student();
        student.test1();
    }
}

  main方法,启动器

package Demo.oop.APP.Demo03;
//java中,所有的类都直接或间接继承object(类)
//Java中,只用单继承,没有多继承,即只有有一个父类,但可以有多个子类
public class Person {
    protected String name="帅哥";
    public Person(){
        System.out.println("Person的无参构造被调用了");
    }
    public void print(){
        System.out.println("Person");
    }


}

 父类,被student继承

package Demo.oop.APP.Demo03;
//学生类,派生类,子类
//学生是人 -- Student is a Person
//子类继承了父类,就会拥有父类全部的方法
//extends 扩展的意思
public class Student extends Person{
    //当main方法调用构造器时,类里只用无参构造时,先调用父类,在调用子类,两个构造器都会被调用
    public Student(){
        System.out.println("Student无参构造被调用了");
    }
    public void print(){
        System.out.println("Student");
    }
    public void test1(){
        print();//此类的方法输出Student
        this.print();//此类的方法输出Student
        super.print();//父类的方法输出Person
    }
}

  子类,继承父类

super注意点:
1.super调用父类的构造方法,必须在构造方法的第一个
2.super只能出现在子类的方法和构造方法中
3.super和this不能同时调用在构造方法中(两个必须有一个放在第一个,其中必有一个报错)
Vs this
代表对象不同:
this:本身调用者这个对象
super:父类的使用调用对象的应用
前提:
this:没有继承就可以使用
super:必须要继承才可以使用
构造方法:
this:本类的构造
super:父类的构造

 

posted @ 2022-05-17 22:59  回忆也交给时间  阅读(100)  评论(0编辑  收藏  举报