Java学习——super关键字

Java中super关键字有以下用处

1.super表示调用父类方法

1)调用父类构造方法

使用方法:super(参数列表)

如果子类中调用父类无参构造时,super()可以不写;子类调用父类有参构造时,必须要写,告知编译器调用的是哪个父类的构造,而且要写在构造方法的第一句。

class Person{
    public String name;
    public Person(String name){
        this.name = name;
    }
}
class Student extends Person{
    public Student(){
        super("Tom");
    }
}
public class Test{
    public static void main(String[] args) {
        System.out.print(new Student().name);
    }
}

注意:super与this在构造方法中不能同时存在,即子类不存在构造方法的互相调用。

2.super调用父类普通方法

用法:super.方法名(参数列表)

class Person{
    public void print(){
        System.out.println("Person类的输出");
    }
}
class Student extends Person{
    public void print(){
        super.print();
        System.out.println("Student类的输出");
    }
}
public class Test{
    public static void main(String[] args) {
        new Student().print();
    }
}

2.super表示调用父类属性。(了解)

class Person{
    public String info = "爸爸!";
}
class Student extends Person{
    public String info = "儿子!" ;
    public void print(){
        //不找本类中的属性
        System.out.println(super.info);
        System.out.println(this.info);
        }
}
public class Test{
    public static void main(String[] args) {
        new Student().print();
    }
}

super和this在使用上非常的相似,但是两者最大的区别是super是子类访问父类的操作,而this
是本类的访问处理操作。

猜你喜欢

转载自blog.csdn.net/eve8888888/article/details/83186644