请各位大神帮我看一下

来源:8-10 Java 中的 static 使用之静态初始化块

慕码人2851768

2018-11-24 22:56

package zuoshiyan;


public class HelloWorld1 {

int sum1;

int sum2;

static int sum3;

public void a() {

sum1=12;

System.out.println("diyici");

}

{

sum2=13;

}

{

sum3=14;

}

public static void main(String[] args) {

HelloWorld1 hello=new HelloWorld1();

System.out.println(hello.sum1);

System.out.println(hello.sum2);

System.out.println(sum3);

HelloWorld1 hello2=new HelloWorld1();

HelloWorld1 hello3=new HelloWorld1();

}


}

/*此操作运行结果为:

 * 0

 * 13

 * 14

 *请问,为什么不对sum1赋值

 *难道就必须要用构造方法才行么

 */


写回答 关注

2回答

  • qq_慕斯卡6482855
    2018-11-25 11:09:44
    已采纳

    你对sum1的赋值时放在一个方法里的,创建hello对象后没有使用这个方法,所以sum1的值是系统默认的int型的值,就是0了

    慕码人285... 回复幕布斯290...

    好的知道了谢谢

    2018-12-08 21:43:37

    共 3 条回复 >

  • 凉城灬可燃
    2018-11-25 11:13:02

    sum1=12的作用范围好像只有在a()这个方法中,而你的main里面没有用到a()这个方法,所以等于没有对这个sum1赋值,所以还是默认0

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530646 学习 · 6091 问题

查看课程

相似问题