繼承是類與類的一種關(guān)系榴捡,是一種“is a”的關(guān)系退疫。
java中的繼承是單繼承的雷则,一個類只有一個父類颊咬。
1.繼承的好處
1.子類擁有父類的所有的屬性和方法(父類中的修飾符不能為private)
2.方法的重寫
如果子類對繼承父類的方法不滿意死嗦,可以重寫父類集成的方法趋距,當(dāng)調(diào)用方法時會優(yōu)先調(diào)用子類的方法。
1.語法規(guī)則:
a.返回值類型
b方法名
c參數(shù)類型及個數(shù)
以上都要與父類繼承的方法相同越除,才叫方法的重寫节腐。
3.繼承的初始化順序
a.初始化先初始化父類在初始化子類。
b.先執(zhí)行初始化對象中的屬性摘盆,在執(zhí)行構(gòu)造方法中的初始化翼雀。
4.繼承中的final關(guān)鍵字
使用final關(guān)鍵字做標識有最終的含義。
1.final可以修飾類孩擂,方法狼渊,屬性和變量
(a).final修飾的類,該類不允許被繼承
(b).final修飾方法类垦,該方法不允許被重寫
(c).final修飾變量狈邑,該變量的值只能賦值一次,即為常量
5.super關(guān)鍵字
super關(guān)鍵字:在對象內(nèi)部使用蚤认,可以代表父類對象米苹。
1.訪問父類屬性
super.屬性名
2.訪問父類的方法
super.方法名
父類
package com.imooc;
public class Animal {
public int age=10;
public String name;
public void eat(){
System.out.println("動物具有吃的能力");
}
}
子類
package com.imooc;
public class Dog extends Animal {
public int age=20;
public void eat(){
System.out.println("狗愛吃骨頭");
}
public void method(){
System.out.println(age);
System.out.println(super.age); //父類屬性值
}
}
主函數(shù)
package com.imooc;
public class Initial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog= new Dog();
dog.method();
super.eat();//調(diào)用父類的方法
}
}
輸出:20 10