【问题标题】:Accessing nested class in another class of same package [duplicate]访问同一包的另一个类中的嵌套类[重复]
【发布时间】:2021-04-04 14:44:50
【问题描述】:

我是 OOP 的新手,如果这听起来很基础,我很抱歉。 我有一个带有以下代码的课程:-

    public class Outer {
    
    int x=90;
    class Inner extends Outer{  
         int x=150;  
        }  
}

现在假设我在同一个包中有另一个类“Main”。 有什么方法可以在“Main”中创建一个“Inner”类的对象,并引用“Outer”类?

我尝试了以下方法(抛出错误):-

public class Main {

    public static void main(String[] args) {
        
        Outer O1 = new Inner();
        }

}

“Main”和“Outer”类都在同一个包中。 另外,我的主要目标是知道是否有任何方法在 Main 方法中创建类 Inner 的对象,如下所示:- 外 O1 = new Inner();

【问题讨论】:

  • 必须先创建一个Outer。由于Inner 不是static,因此如果没有Outer,它就无法存在。您正在混合嵌套类和多态性,您确定要这样做吗?
  • 其实是的。由于我是 OOP 的新手,因此我尝试了可以​​一起工作的不同组合。非常感谢您的信息。

标签: java oop


【解决方案1】:

内部类(如果它们不是静态的)它们需要绑定到外部类的实例。

【讨论】:

    【解决方案2】:

    你需要先创建outer类的对象,然后才能创建inner类的对象。

    Outer o1 = new Outer().new Inner();
    

    【讨论】:

    • 非常感谢它的工作。还清理了一些东西。
    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多