- 本质是对某一批类的抽象,从而实现对显示世界更好的建模
- extands,子类是父类的扩展
- 只有单继承,没有多继承
- 在Java中,所有的类都默认直接或间接继承ibject
子类继承父类,就会拥有父类的全部方法
ctrl+h 查看继树
//Person 人:父类
public class Person/*extends object*/{
//public
//private
//default
//protected
public void say(){
System.out.println("说了一句话");
}
private int money=10_000_000;
public int getMoney(){
return money;
}
public void setMoney(int money){
this.money=money;
}
}
//学生 is 人:派生类 子类
public class Student extends Person{
}
//老师 is 人:派生类 子类
public class Teacher extends Person{
}
public class Application{
public static void main(String[] args){
Student student = new Student();
student.say(); //说了一句话
student.setName();
System.out.println(student.getName);
}
}
super
//Person 人:父类
public class Person/*extends object*/{
protected String name="123";
}
public class Student extends Person{
private String name="321";
public void test(String name){
System.out.println(name); //传递的参数147
System.out.println(this.name); //321
System.out.println(super.name); //父类,123
}
}
public class Application{
public static void main(String[] args){
Student student = new Student();
student.test(name:"147");
}
}
注意点:
- super调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
vs this:
-
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用 -
前提:
this:没有继承也可以使用
super:只能在继承条件才可以使用 -
构造方法:
this:本类的构造
super:父类的构造