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:父类的构造

浙公网安备 33010602011771号