1. 程式人生 > >java中的上轉型物件

java中的上轉型物件

一、定義:

類B是類A的子類

A a;

a=new B();

或者

A a;

B b=new B();

a=b;

二、性質:

1、物件的上轉型物件的實質是子類負責建立的,但上轉型物件會失去原物件的一些屬性和功能。

2、上轉型物件不能操作子類宣告定義的成員變數,也不能使用子類宣告定義的方法。

3上轉型物件可以操作子類繼承的成員變數和隱藏的成員變數,也可以使用子類繼承的或重寫的方法。

4、上轉型物件不能操作子類新增的方法和成員變數。

5、將物件的上轉型物件再強制轉換到一個子類物件,這時,該子類物件又具備了子類的所有屬性和功能。

三、例子:

interface ISwim{
	void swim();
}
class Fish implements ISwim{
	public void swim(){
		System.out.println("Fish重寫的方法");
	}
}
public class A{
	public static void main(String a[]){
		Fish fish1=new Fish();
		fish1.swim();
		ISwim fish2=new Fish();
		//fish2.swim();  //出錯,上轉型物件不能操作子類宣告定義的變數跟方法
		((Fish)fish2).swim();//將物件的上轉型物件再強制轉換到一個子類物件。
	}
}

Welcome message added