当子类和超类在不同的包中时,如何在java中继承一个类
Posted
技术标签:
【中文标题】当子类和超类在不同的包中时,如何在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中继承一个类的主要内容,如果未能解决你的问题,请参考以下文章