![](/img/trans.png)
[英]Can a main method be placed in a parent class? And if so can a child object be instantiated inside that main method?
[英]Call method in main class from instantiated object
我想做的是这样的:
public class MainClass {
private UIController uIController;
MainClass() {
uIController = new UIController();
}
public void MethodIWantToCall() {
//Do Something
}
}
UIController类的示例:
public class UIController {
UIController() {
//Call a method in MainClass here, for example MethodIWantToCall()
}
public void MethodA {
//Call a method in MainClass here, for example MethodIWantToCall()
}
}
我想做的是将UIController传递给MainClass命令,在用户与UI交互时调用其方法或将值返回给MainClass。
您需要将MainClass
实例的引用传递给UIController
实例,例如:
public class UIController {
private final MainClass mainClass;
UIController (final MainClass mainClass) {
this.mainClass = mainClass;
//Call a method in MainClass here, for example MethodIWantToCall()
this.mainClass.MethodIWantToCall();
}
public void MethodA() {
//Call a method in MainClass here, for example MethodIWantToCall()
this.mainClass.MethodIWantToCall();
}
}
然后
uIController = new UIController(this);
PS:Java中的方法应以小写字母开头。
您可以创建实例字段:
public class MainClass {
public static MainClass instance;
public MainClass() {
instance=this;
}
public void method() {}
}
然后,调用:MainClass.instance.method(); 要么:
public class MainClass {
public MainClass() {
new AnotherClass(this);
}
public void method() {}
}
public class AnotherClass {
public AnotherClass(MainClass main) {
main.method();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.