java - 具有外部类和内部类的数组

标签 java oop inner-classes outer-classes

我对 Java 比较陌生。我想创建一个外部类的数组列表,对于数组列表外部类的每个索引,我想要一个内部类的数组列表。

public Outerclass{

    //Code Here

    public InnerClass{
    //Code Here
    }
}

//My attempt at setting up the arrays
public ArrayList <Outerclass> olist;
public ArrayList <InnerClass> ilist;


 olist= new ArrayList<Outerclass>();
 for (int i = 0; i < 3; i++) {
      Outerclass c = new Outerclass ();
      ilist = new ArrayList<InnerClass>();
      for(int j = 0 ; j < 4; j++){
          InnerClass e = new InnerClass();
          ilist.add(e);
      }
      olist.add(c);
 }

这行得通吗?

最佳答案

首先,我认为你应该在开始运行之前先学会走路:

public Outerclass

应该是

public class Outerclass

与内部相同!

其次,代码的所有最后部分都应该位于我们类内部的 main() 方法中。

第三,不,你不能像那样使用内部类,这就是这些类是内部类的原因。如果您想从 main() 内部或外部类外部使用内部类,则必须使用外部实例才能访问它们,就像访问任何其他实例成员一样 - 您可以'不能直接访问它:

        Outerclass oc = new Outerclass();
        Outerclass.InnerClass in = oc.new InnerClass();

关于java - 具有外部类和内部类的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048808/

相关文章:

java - Android IntentService 无法在开机时启动

c++ - 在forever循环或void循环中执行一次(once)吗?

java - 处理数组中的对象时出现越界

Java : Inner class of an interface (from google guice)

java - 内部类和。 Java 中的子类

android - TimePickerDialog 运行两次

java - 这种方法标准是使用 varargs.length 而不是 boolean 值吗?

java - 如何使用 javadb JUnit 测试 jpa 代码而不修改原始数据库?

java - 代码重构过程

oop - JDK 和重写?