请问静态方法块初始化 age=20; 为什么eclipse显示是错误的?

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

PG_one

2017-09-27 22:29

package chapter1;


public class C {

  String name;

  String sex;

  String age;

  // 构造方法

  public C() {

 System.out.println("通过构造方法初始化name");

 name="baby";

  }

   // 初始化块

  {

 System.out.println("通过初始化块初始化sex");

 sex="女";

  }

  // 静态初始化块

  static {

 System.out.println("通过静态初始化块初始化age");

 age=20;

  }

   public void show() {

  System.out.println("姓名:"+name+"性别:"+sex+"年龄:"+age);

   }

   public static void main(String[] args) {

// 创建对象

  C hello=new C();

// 调用对象的show方法

  hello.show();

 }

}

 


写回答 关注

3回答

  • 你爱我像谁1
    2017-09-28 02:42:14

    静态方法只能给静态变量初始化值,声明age时

    static int age;

  • DamonLiu
    2017-09-27 22:45:59

    1,静态方法块初始化,只能给静态变量初始化值。

    2,你的是String age; 那么应该是 age="20";

  • qq_飞爱艺_0
    2017-09-27 22:41:16
    int age;


Java入门第二季 升级版

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

530560 学习 · 6091 问题

查看课程

相似问题