繁体   English   中英

Main类中的Java调用方法

[英]Java call method in Main class

假设我有Main类,并且它具有A类的实例。

如何在AA 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM