gpt4 book ai didi

Java 嵌套类和/或子类

转载 作者:行者123 更新时间:2023-12-01 05:58:04 25 4
gpt4 key购买 nike

我想知道运行嵌套类时java中的最佳实践是什么 - 我正在考虑运行一个rmi服务器,该服务器将在父类的实例化时创建,所以说

class foo() [the 'parent']
constructor for foo() - instanciates rmifoo()

当您想从“父”类中的 rmifoo() 调用方法时,这会有点痛苦(由于 rmi,您不能简单地导入该类)。一种方法当然是使 rmifoo() 成为一个实际的子类,然后能够访问父类中的方法,但这似乎是不必要的 OTT(特别是因为那时,大概你需要使父类抽象,等等,这真的使许多其他功能变得复杂)。

我想知道建立这样一个系统的最佳实践是什么,这样人们就可以从其服务器(即)内调用 foo() 类中的方法。 rmifoo()

************更新********

代码(正如我目前所想的那样)将是这样的:

A.java:

public class A {
B aBinstance;

public fooParent() {
[do something..]
}
}

B.Java

public class B { 
public fooChild() {
[super].fooParent() (super wont work...?)
}

}

最佳答案

我认为这就是您想要做的:

public class A {

private B b;

public A() {
b = new b(this);
}

public aMethodInA() {
//stuff goes here
}
}


public class B {

private A a;

public B(A a) {
this.a = a;
}

public aMethodCallingMethodsInTheObjectThatInstantiatedMe() {
a.aMethodInA();
}
}

这在某些情况下是可行的并且非常有用,但是您最终会得到这些循环引用,而这是您通常想要避免的事情。想想为什么需要从 B 调用 A 类。也许有一种方法可以将您的问题分成三个类,并以这种方式打破循环引用。

关于Java 嵌套类和/或子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2211702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com