用一個例子證明interface與Object類有繼承關係

java代碼
public class InterfaceTest<T extends Object>
{
	public T property;
	
	public static void main(String[] args)
	{
		InterfaceTest<In> in = new InterfaceTest<In>();	
		B b = new B();
		
		in.property = b;
		
		In i = b;
		A a = b;
		Object o = b;
		
		System.out.println(i instanceof Object);
		System.out.println(o instanceof In);
		System.out.println(a instanceof In);

	}
	
}

interface In
{
	
}


abstract class A implements In
{
	
}

class B extends A
{
	public void method()
	{
		
	}
}

打印結果:

true
true
true

可以從3方面證明。

1.首先用<In>替換掉<T extends Object>是編譯不會報錯,那麼說明了interface的確繼承了Object。

2.當將i指向b指向的對象後,再用IDE的時候,會聯想出i的方法與Object方法一致。

3.從i instanceof Object,o instanceof In打印出true的結果看來In接口與Object存在繼承或實現的關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章