永发信息网

Java关于接口引用子类对象

答案:3  悬赏:50  手机版
解决时间 2021-05-03 22:35

有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。。 声明用起来都一样吧

可能是这样

为什么使用接口  两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。   问题的出现:Java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。   接口是可插入性的保证。   在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类)。   我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。   接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。   类型   使用Java接口将软件单位与内部和外部耦合起来。使用Java接口不是具体的类进行变量的类型声明,方法的返还类型声明,参量的类型声明,以及数据类型的转换。   在理想的情况下,一个具体的Java类应当只实现Java接口和抽象Java类中声明的方法,而不应当给多余方法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
横过村地址有知道的么?有点事想过去
偷盗判刑钱数标准
《仙剑》的第四部电视剧现在出了么。
常大板材怎么去啊,有知道地址的么
正处于青春期的人要怎样让自己的胸部更好的发
一个女人说依赖什么意思
为什么我soso里面的字体显示不正常啊?
这个是什么问字体!!
砚山县盐务局地址在哪,我要去那里办事
有没有谁有新的悲伤的新歌啊?
我现在发现我越来越不喜欢出门了!!该怎么办法
为什么到女孩子家就害羞不知道说什么?
我龙之谷的角色怎么没了,什么情况
移动公司宣传标语,有关移动公司团队口号大全
生日聚会邀请一般提前多少天发出好?
推荐资讯
谁知道这个视频中插曲的名字是什么?
五虎上将都有谁?
急需答案,高中男生剪什么非主流发型好看,不
浒山好一点的女服装店有没有啊??
锦州至湖南张家界的火车有直达的吗
DNF升到顶级〈6o级)那干什么?
QQ空间《抢车位》的名额有多少个?
来源于神话故事的成语,4个
沈阳铁香铸造有限公司地址在哪,我要去那里办
急!谁有龙的叫声片段? 就像电视《天龙八部
为什么玩穿越火线卡?
谁能提供一些网络歌曲、中英的都要、要好听有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?