java new关键字在这段代码中是如何工作的explain [duplicate]

5uzkadbs  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(138)
    • 此问题在此处已有答案**:

What does the 'new' keyword actually do in Java, and should I avoid creating new objects?(6个答案)
Role of new keyword in Java(5个答案)
4天前关闭.

public class Myclass {
    static int a = 20;

    Myclass() {
        a = 200;
    }

    public static void main(String[] args) {
        new Myclass();
        System.out.println(a);
    }
}

如何输出是未来200 plz解释。
我无法理解new Myclass()部分

pgvzfuti

pgvzfuti1#

请记住,new用于创建类的新示例,并执行构造函数中的代码。
还请记住,static意味着变量属于类,而不是任何特定的示例,因此您不需要示例来引用它。
因此,当调用构造函数时,变量a被设置为200,这就是您打印出来的值,即使示例刚刚被丢弃。

o2g1uqev

o2g1uqev2#

第一行的public class Myclass {是你的类的定义,类就像一个饼干切割器,一个饼干切割器定义了一个饼干的形状,你可以用它来做很多饼干,但它不是一个饼干,第三行的Myclass() {是你的构造函数,你可以在自己的时间里研究和学习更多关于构造函数的知识。2我建议将这一行和第5、6行沿着缩进,以提高可读性。请研究代码缩进和格式。就编译器而言,这不会影响代码的“正确性”(既然我们谈论的是java,其他语言如python就不同了)
最后直接回答您的问题。第7行的new Myclass()获取您的cookie cutter(您的类)并使用它创建一个示例(cookie)
由于main(String[] args)是静态,因此它不需要执行Myclass的示例。研究access modifiersnon-access modifiers以了解有关此主题的更多信息。

相关问题