[英]Java call method in Main class
假设我有Main
类,并且它具有A
类的实例。
如何在A
类A
Main
类中调用方法?
谢谢!
这称为Composition
... 其中一个类具有其他类的引用...
当我们需要一个或几个功能,但不是所有类的功能时, Composition
比 Inheritance
优先 。
例如:
public class A{
Main m = new M(); // m is a Object Reference Variable of type Main in class A
m.go(); // go() is a method in class Main
}
如果是实例方法,则需要在A内有一个M的实例才能在A内调用M的方法。如果是静态方法,则可以直接调用它。 但是您要持有循环引用,因此要当心。
Main.methodName()用于静态方法。
尽管在我看来,您要尝试做的事情可能是错误的做法。 您的Main方法或类应该只是一个入口点
要从cals A调用Main类中的方法,如果两个Cals都没有继承之类的关系,则需要A类中的Main类实例(在同一个包中考虑它们)。如果是静态的,则可以调用Main.methodName();。
如果该方法是静态方法(即使用“ public static ReturnType methodName()”声明),则在A类中,您需要调用Main.methodName()。
但是,如果该方法是实例方法(声明为“ public ReturnType methodName()”),则需要以某种方式将Main的实例传递到A的实例中(也许通过构造函数或setter方法)。 然后在A类内部,可以调用instanceOfMain.methodName()。
但是(如某些人已经提到的那样),这可能不是处理问题的最佳方法。 Main类应该只是程序开始的地方; 它不是您应该执行任何实际程序逻辑的地方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.