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

Swift:如何检查子类上的基类和超类

再谈 Java 的继承和超类 Object

马凯军201771010116《面向对象程序设计(java)》第七周学习总结

Java入门

如何在两个文件中有一个类和超类(Typescript)

超类引用上的访问修饰符和方法[重复]