一、繼承
繼承就是子類繼承父類的特征和行為,使得子類對象(執行個體)具有父類的執行個體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。關鍵字
繼承要點:
- 父類也稱作超類、基類、派生類等。
- Java中隻有單繼承,沒有像C++那樣的多繼承。多繼承會引起混亂,使得繼承鍊過于複雜,系統難于維護。
- Java中類沒有多繼承,接口有多繼承。
- 子類繼承父類,可以得到父類的全部屬性和方法 (除了父類的構造方法),但不見得可以直接通路(比如,父類私有的屬性和方法)。
- 如果定義一個類時,沒有調用extends,則它的父類是:java.lang.Object。
二、instanceof運算符
instanceof是二進制運算符,左邊是對象,右邊是類;當對象是右面類或子類所建立對象時,傳回true;否則,傳回false。
三、示例
Cat類繼承了Animal類,并使用 instanceof 判斷 cat 是不是 Animal 或 Cat 類所建立的對象
public class TestExtends {
public static void main(String[] args) {
Cat cat = new Cat("咪咪",2,"白色");
cat.info(); //調用自身的方法
cat.rest(); //調用父類的方法
System.out.println(cat instanceof Animal);
System.out.println(cat instanceof Cat);
}
}
class Animal{
String name;
int weight;
void rest(){
System.out.println("我現在想休息一會!");
}
}
class Cat extends Animal{
String color; //毛色
public Cat(String name,int weight,String color) {
//天然擁有父類的屬性
this.name = name;
this.weight = weight;
this.color = color;
}
void info() {
System.out.println("我叫"+name+" 體重: "+weight+"kg, 毛色為"+color);
}
}
