对运行结果表示不理解,哪位大神能解读一下代码?帮我理解一下?

packageday14;classMyClass2{staticintcount=0;publicMyClass2(){count++;System.out.print... package day14;

class MyClass2 {
static int count=0;
public MyClass2(){
count++;
System.out.println(count);
}

}

public class TestMain{
public static void main(String[] args) {
MyClass2 mc1=new MyClass2();
MyClass2 mc2=new MyClass2();
MyClass2 mc3=new MyClass2();

}
}

运行结果1,2,3
展开
 我来答
百度网友fae7cd1
2018-08-07 · 超过122用户采纳过TA的回答
知道小有建树答主
回答量:233
采纳率:76%
帮助的人:120万
展开全部
count是静态变量,只会进行一次初始化进行赋值,不会被销毁,原来的值一直在,直到程序不再运行,所以第一次实例化调用构造函数时count=0,count++=1,第二次实例化调用构造函数时,count的值还是之前的1,count++=2,同理第三次等于3,如果继续调用构造函数,count会递增,程序关闭之后count被销毁,再次运行count重新被定义并初始化为0
更多追问追答
追问
我记得静态的只会被调用一次,这个被调用了多次?
追答
是只会被初始化一次
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式