Java super关键字

很多人都说super是直接父类的引用

我们都知道this是当前对象的引用,但是super和this不一样,我们可以把this输出来,但是super不能。所以这么说是不准确的

super的用法

  1. 可以访问父类中的属性
  2. 调用父类中的方法
  3. 调用父类构造方法(不写的话也默认添加)
public class Test4
{
    public static void main(String[] args)
    {
        new Student1().run();//执行结果Animal.run()Person.run()Student.run(),发现super总是调用父类的方法
    }
}


class Animal
{
    void run()
    {
        System.out.println("Animal.run()");
    }
}


class Person1 extends Animal
{


    public void run()
    {
        super.run();
        System.out.println("Person.run()");
    }
}


class Student1 extends Person1
{


    public void run()
    {
        super.run();
        System.out.println("Student.run()");
    }


}

你可能感兴趣的:(Java)