extends
本质是对某一批类的抽象,从而实现对现实世界更好的建模。
public class Teacher extends Person{
}
Person是父类,Teacher是子类。Java类只有单继承,没有多继承。一个儿子只能有一个爸爸,一个爸爸可以有多个儿子。
子类继承父类,就会继承父类的所有public的方法。私有无法继承。
在Java中,所有的类都直接或间接继承Object
this子类
super父类
public class Person{//父类
public void print(){
System.out.println("person");
}
}
public class Student extends Person{//继承 子类
public void print(){
System.out.println("student");
}
public void test(){
print();//student
this.print();//student
super.print();//person
}
}
子类的无参构造是先调用父类的无参构造再是子类的无参构造
public class Person{//父类
public Person(){//父类的无参构造
System.out.println("person无参");
}
}
public class Student extends Person{
public Student(){//子类的无参构造
System.out.println("student无参");
}
}
public class Demo{
public static void main(String[] args){//主函数
Student student=new Student();//new一个student对象
}
}
之后会先输出person无参,再输出student无参。这就说明子类无参构造的第一行有一段隐藏代码 super();
如果写出来,则要写在第一行,否则会报错。
public class Student extends Person{
public Student(){//子类的无参构造
super();
System.out.println("student无参");
}
}


