如
有Person接口 Student类实现了Person接口,那
为什么有时候要用
Student s=new Student();
Person p=s;
p.run();
这样
Student s=new Student();
s.run();
不是一样吗,第一种有什么用
如
有Person接口 Student类实现了Person接口,那
为什么有时候要用
Student s=new Student();
Person p=s;
p.run();
这样
Student s=new Student();
s.run();
不是一样吗,第一种有什么用
在你这里是完全一样的,
其实有很多人认为java的接口是多此一举,没有必要的
java的接口只是为了实现“多继承”和制作java的标准用的,例:
我自己写了一套X软件,里面有A,B两个类,但是A,B是为了满足1,2这两种不同的用户使用的,但是1,2对C完全不了解,他们不知道自己是要用A,还是B,于是我定义了一个接口C;A,B都实现它。
1,2来用X时,都要用C就可以了,1来的时候用,C c = C.newCreate("1");//前提是他知道自己是谁。。。
如果还有其他类实现了person这个接口 那么 p 还可以指向那个类的对象;
定义成Student p就只能指向 student类型
你就一个student实现了person 没其他东西了 用p。。。或用st。。 声明用起来都一样吧
可能是这样