子類繼承父類的功能 extends 父類的名稱
舉例:人 ==》 男人 女人 打工人 ==》 經(jīng)理 老板
父類 舅舅
public class Uncle {
private String name;
private int age;
// getter setter
public void setName (String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
// 發(fā)紅包
public void sendHongbao() {
System.out.println("舅舅在發(fā)紅包");
}
}
子類:大舅
public class UncleOne extends Uncle{
public void chouyan(){
System.out.println("大舅喜歡抽煙");
}
}
子類:二舅
public class UncleTwo extends Uncle{
public void drinkWine() {
System.out.println("二舅喜歡喝酒");
}
}
子類只能繼承自一個父類瓢喉,不能繼承多個父類 多重繼承(不允許)
// 錯誤代碼
public class UncleThree extends Uncle , UncleOne{
}
子類 多層繼承
// 多層繼承
public class UncleOneSon extends UncleOne{
}
在繼承中類加載的順序
先創(chuàng)建父類,再創(chuàng)建子類
父類的構造方法先于子類的構造方法調(diào)用
public UncleOne() {
super(); // 調(diào)用父類的構造方法
System.out.println("子類大舅的構造方法被創(chuàng)建了");
}
方法的復寫(覆寫)override
@Override
public void sendHongbao() {
System.out.println("大舅家道中落归斤,紅包只有1毛錢");
}
如果子類沒有復寫父類的方法枝冀,調(diào)用的是父類的
如果復寫了父類的方法舞丛,在調(diào)用時優(yōu)先調(diào)用子類復寫后的方法
要求
1 方法的簽名完全一致
2 方法體不同
Final
1 修飾的內(nèi)容不可以發(fā)生改變
1.1 修飾的是基本數(shù)據(jù)類型,其值不可以發(fā)生改變
1.2 修飾的是引用數(shù)據(jù)類型果漾,引用的地址不能發(fā)生改變(不能指向新的空間)球切,但是原本引用的空間中的值是可以發(fā)生修改的