public class Class1 {
public Class2 getClass2() {
//How can I implement this method?
}
public class Class2 {
//...
}
}
我无法完成它,即使它只应该是一行代码......
答案 0 :(得分:1)
你不应该这样做。内部类应该在外部类中使用而不是在其他地方使用。 如果你需要一个内部类的实例,那么它应该不是一个内部类。
答案 1 :(得分:0)
只需在外部类中创建一个getter方法。
public class Class1 {
public Class2 getClass2() {
//How can I implement this method?
}
public Class2 getClass2() {
return new Class2();
}
public class Class2 {
//...
}
}
答案 2 :(得分:0)
我认为你的内部类概念是错误的。在您的示例中,您有一个公共内部类。这并不意味着您的Class1
只有一个Class2
对象。您仍然可以根据需要创建Class2
的任意对象。如果您想在Class1
之外执行此操作,请使用new Class1.Class2()
。虽然这是可能的,但在他的回答中正确地提到galovics将是糟糕的设计。
如果您要实现的目标是在Class2
内对Class1
对象进行一次对象引用,请在Class2
中使用Class1
类型的字段和匹配的getter方法:
public class Class1 {
private Class2 class2instance = new Class2();
public Class2 getClass2() {
return class2instance;
}
private class Class2 {
//...
}
}
答案 3 :(得分:0)
public class Class1 {
private Class2 class2 = new Class2();
public Class2 getClass2() {
return class2;
}
public class Class2 {
//...
}
}