【问题标题】:How do I inherit a class in java, when the sub- and super-classes are in different packages当子类和超类在不同的包中时,如何在java中继承一个类
【发布时间】:2017-02-13 06:31:02
【问题描述】:

当子类和超类在不同的包中时,如何在java中继承一个类

【问题讨论】:

  • 和平常一样...?
  • 一个类不关心它的子类是谁或在哪里(只要它不是最终的),它可以从任何地方扩展。并且您可以扩展任何超类,只要您能够将其导入到您扩展该类的 Java 文件中。
  • 班级不知道他们的孩子。只要孩子能看到它的父母,它就可以自然地复制它。
  • @Kon:不过,该类必须是公开的,才能在包外可见。
  • @Thilo 他们可以,直到您链接该帖子。呃……量子力学。

标签: java


【解决方案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。但这也应该避免。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    相关资源
    最近更新 更多