java中继承extends和emplments实现有啥区别?具体在用法上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中继承extends和emplments实现有啥区别?具体在用法上?相关的知识,希望对你有一定的参考价值。
extends是继承父类,父类里的字段和属性都可以直接被使用,而implements是实现接口,接口只含有空方法,也就是你实现了接口必须自己写方法体。extends只能继承一个类,implements可以实现多个接口。 参考技术A entends可以是接口继承一个接口,或是继承父类,里面有抽象方法。而emplements是实现接口的,必须全部实现,不能有抽象方法。 参考技术B 从功能上没什么区别,主要是自然逻辑上。比如男人继承自人这个类,然后实现一些男人特有的接口,比如shoot接口。 参考技术C extends 继承 父类的 方法 使用 其方法
emplments 实现 接口的方法 参考技术D 继承一般是在父类和子类之间,而且只能继承一个父类。实现一般用在接口上,可以多实现。我也不太懂,就知道这些、、、、追问
恩,谢谢啊。那么继承之间,如果子类方法和父类相同,子类可以覆盖父类。那么实现呢?
当子类和超类在不同的包中时,如何在java中继承一个类
【中文标题】当子类和超类在不同的包中时,如何在java中继承一个类【英文标题】:How do I inherit a class in java, when the sub- and super-classes are in different packages 【发布时间】:2017-02-13 06:31:02 【问题描述】:【问题讨论】:
和平常一样...? 一个类不关心它的子类是谁或在哪里(只要它不是最终的),它可以从任何地方扩展。并且您可以扩展任何超类,只要您能够将其导入到您扩展该类的 Java 文件中。 班级不知道他们的孩子。只要孩子能看到它的父母,它就可以自然地复制它。 @Kon:不过,该类必须是公开的,才能在包外可见。 @Thilo 他们可以,直到您链接该帖子。呃……量子力学。 【参考方案1】:要使类在其包外可见,请将其声明为public
。
然后它可以被其他包中的类扩展(除非它是final
,那么它根本不能被子类化)。
就像使用当前(和java
)包之外的任何类一样,您必须import
它(或使用完全限定名称my.other.package.ClassName
)。
【讨论】:
【参考方案2】:就像平常一样,使用import
语句。
import some.folder.SuperClass
public class SubClass extends SuperClass
public SubClass()
super();
【讨论】:
class SubClass extends some.folder.SuperClass
用过吗,还是太杂乱了?
@Gendarme:太杂乱了。仅当您已经导入了同名的类时才使用它,例如class Factory extends some.api.Factory
。但这也应该避免。
@Gendarme 见***.com/questions/2079823/…以上是关于java中继承extends和emplments实现有啥区别?具体在用法上?的主要内容,如果未能解决你的问题,请参考以下文章