Java 访问类中存在的类 请考虑以下代码:

Java 访问类中存在的类 请考虑以下代码:,java,javafx,Java,Javafx,我有两个类:ClassA.java和ClassB.java中定义的ClassA和ClassB 初始场景: 在ClassA中,我有如下内容: public class ClassA extends Task<Integer> { @Override protected Integer call() throws Exception { throw new UnsupportedOperationException("Not supporte

我有两个类:ClassA.java和ClassB.java中定义的ClassA和ClassB

初始场景:

在ClassA中,我有如下内容:

public class ClassA extends Task<Integer> {
   @Override
        protected Integer call() throws Exception {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
}

我希望oracle文档中的这段文字能够回答您的问题:

InnerClass的实例只能存在于的实例中 OuterClass并可以直接访问its的方法和字段 封闭实例

要实例化内部类,必须首先实例化外部类 班级。然后,使用以下命令在外部对象中创建内部对象 语法:

OuterClass.InnerClass innerObject=outerObject.new InnerClass()

比如说,,
QR[i].Class1测试=QR[i].new Class1()

谢谢。我应该如何定义像
QR[I]=newclassa(I)对于Class1?如果我这样做,那么在Netbeans中我会得到一个错误:要么它要求我1)在包mypackage中创建类“Class1”,要么在包mypackage中创建类“Class1”。请给出建议。它认为它无法访问该类。原因可能是什么?而不是QR[i]=新的ClassA(i);您必须尝试QR[i]=new ClassA();然后以QR[i]的形式访问Class1。Class1 test=QR[i]。new Class1();“i”是否对应于类名中的数字?(即,对于i=1创建类1的实例,对于i=2创建类2的实例,依此类推)@Constantine不太可能。它只是与上面for循环中定义的
i
相关。你认为我应该做那样的事吗?由你决定。我只是想了解你想要完成什么。如果不确定,那么很可能您不需要这样做。@Constantine实际上,我决定创建一个单独的类,而不是在一个类中定义所有的类。它成功了。但是对于100个连接,我必须定义100个类,这是很奇怪的。你认为我可以放弃定义100个类吗?当然,你能用Class1ClassN的实现更新你的问题吗?我很好奇在每堂课上“//我的逻辑”是什么样子的。
public ClassB implements Initializable {

public ClassA[] QR;

@Override
public void initialize(URL url, ResourceBundle rb) {
        for(int i=0; i<1; i++) {
            QR[i] = new ClassA(i);
            // My other stuff here
        }
    }
}
public ClassA {

    public class Class1 extends Task<Integer> {
       @Override
            protected Integer call() throws Exception {
                // My logic here
            }
    }

    public class Class2 extends Task<Integer> {
       @Override
            protected Integer call() throws Exception {
                // My logic here
            }
    }

    public class Class3 extends Task<Integer> {
       @Override
            protected Integer call() throws Exception {
                // My logic here
            }
    }

    public class Class4 extends Task<Integer> {
       @Override
            protected Integer call() throws Exception {
                // My logic here
            }
    }

    // and so on until Class10

}// END of ClassA
@Override
    public void initialize(URL url, ResourceBundle rb) 
    {
      for(int i=0; i<1; i++)
            {
                QR[i] = new ClassA(i); 
                // My other stuff here 
             }
    }
`public Class1[] QR1`, then it throws error.