为什么要为 Main 类创建一个对象,以使方法起作用?

我之前遇到过一个错误,但是当我在这个类中创建一个对象并调用该方法时,它完美地工作。有什么解释吗?我是否总是必须创建一个对象来调用 main 方法之外的方法(但在同一个类中)?这里:


public class A{


    public static void main(String[] args){


        A myObj= new A();

        System.out.println(myObj.lets(2));


    }


   public int lets(int x){

       return x;

   }


}


拉莫斯之舞
浏览 247回答 2
2回答

catspeake

你需要了解static。它将方法或字段关联到类本身(而不是类的特定实例)。当程序开始执行时,JVM 不会A在调用之前实例化 的实例main(因为main是static并且因为没有A要使用的特定实例);这使它成为一个全球性的入口点。要调用lets你需要一个A(如你所见),或者依次创建它static(你也可以限制它的可见性)private static int lets(int x) {&nbsp; &nbsp; return x;}接着System.out.println(lets(2));足够了。我们也可以把它一般像private static <T> T lets(T x) {&nbsp; &nbsp; return x;}然后使用任何类型调用它(尽管该类型仍然必须覆盖toString(),以便结果在与 一起使用时特别有用System.out.println)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java