用一个例子证明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存在继承或实现的关系。

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