问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

怎么运行不出来?

public class HelloWorld{
    static  int age;
    char sex;
    string name;
    public HelloWorld(){
        age=20;
        System.out.println("通过静态初始化块初始age");
    }
    {
        sex=男;
        System.out.println("通过初始化块初始化sex");
    }
    {
        name=tom;
        System.out.println("通过构造方法初始化name");
    }
    public static void main(String[] args){
    HelloWorld hello=new HelloWorld();
    System.out.println("姓名:"+hello.name,"性别:"+hello.name,"年龄:"+hello.age);
}
}


提问者:Bess_0_ 2016-04-03 16:53

个回答

  • MRMRMRMR
    2016-04-06 15:54:20

    错误很多

    1、第4行        字符串声明String   s应该为大写

    2、第7行        内容应该为通过构造方法初始化age   没有语法错误 语义错误

                          显然这应该是构造方法  同理第15行应该为通过静态初始化块初始name

    3、第10行      sex是char类型   男应该用单引号括起来    sex ='男'

    4、第14行      name是String类型   应用双引号括起来   name = "tom"

    5、第19行      字符串与变量应该用+隔开  性别应该为hello.sex

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

  • cyanist
    2016-04-06 00:34:41

     System.out.println("姓名:"+hello.name,"性别:"+hello.name,"年龄:"+hello.age); 这行代码程序是不能执行的,如果想要在三个数据间加逗号,可以把逗号放在双引号里面再执行,写作 System.out.println("姓名:"+hello.name+",性别:"+hello.name+",年龄:"+age);

  • cyanist
    2016-04-06 00:11:49

    有好几个错误,修改后:

    package com.imooc;

    public class HelloWorld{

        static  int age;

        String sex;

        String name;

        public HelloWorld(){

            age=20;

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

        }

        {

            sex="男";

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

        }

        {

            name="tom";

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

        }

        public static void main(String[] args){

        HelloWorld hello=new HelloWorld();

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

    }

    }


  • Dr_Susu
    2016-04-03 17:05:41

    还有静态代码块应为,

    static {

            sex=男;

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

        }


  • Dr_Susu
    2016-04-03 17:03:30

    第四行应为String,你的s小写了