- 此问题在此处已有答案**:
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()
部分
2条答案
按热度按时间pgvzfuti1#
请记住,
new
用于创建类的新示例,并执行构造函数中的代码。还请记住,
static
意味着变量属于类,而不是任何特定的示例,因此您不需要示例来引用它。因此,当调用构造函数时,变量
a
被设置为200
,这就是您打印出来的值,即使示例刚刚被丢弃。o2g1uqev2#
第一行的
public class Myclass {
是你的类的定义,类就像一个饼干切割器,一个饼干切割器定义了一个饼干的形状,你可以用它来做很多饼干,但它不是一个饼干,第三行的Myclass() {
是你的构造函数,你可以在自己的时间里研究和学习更多关于构造函数的知识。2我建议将这一行和第5、6行沿着缩进,以提高可读性。请研究代码缩进和格式。就编译器而言,这不会影响代码的“正确性”(既然我们谈论的是java,其他语言如python就不同了)最后直接回答您的问题。第7行的
new Myclass()
获取您的cookie cutter(您的类)并使用它创建一个示例(cookie)由于
main(String[] args)
是静态,因此它不需要执行Myclass的示例。研究access modifiers
和non-access modifiers
以了解有关此主题的更多信息。