天天看點

繼承(extends) 與 instanceof 運算符一、繼承二、instanceof運算符 三、示例

一、繼承

繼承就是子類繼承父類的特征和行為,使得子類對象(執行個體)具有父類的執行個體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。關鍵字

繼承要點:

  1. 父類也稱作超類、基類、派生類等。
  2. Java中隻有單繼承,沒有像C++那樣的多繼承。多繼承會引起混亂,使得繼承鍊過于複雜,系統難于維護。
  3. Java中類沒有多繼承,接口有多繼承。
  4. 子類繼承父類,可以得到父類的全部屬性和方法 (除了父類的構造方法),但不見得可以直接通路(比如,父類私有的屬性和方法)。
  5. 如果定義一個類時,沒有調用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);
	}
}           
繼承(extends) 與 instanceof 運算符一、繼承二、instanceof運算符 三、示例

繼續閱讀