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

再创类的对象hello2运行不成功,示例上明明可以

public class HelloWorld {
   
    String name; // 声明变量name
 String sex; // 声明变量sex
 static int age;// 声明静态变量age
   
    // 构造方法
 public HelloWorld () {
  System.out.println("通过构造方法初始化name");
  name = "tom";
 }
   
    // 初始化块
 {
  System.out.println("通过初始化块初始化sex");
  sex = "男";
 }
   
    // 静态初始化块
         {
  System.out.println("通过静态初始化块初始化age");
  age = 20;
 }
   
 public void show() {
  System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
 }
   
 public static void main(String[] args) {
       
        // 创建对象
  HelloWorld hello = new HelloWorld();
  // 调用对象的show方法
        hello.show();
        HelloWorld hello2=new HeloWorld();//为什么示例中可以运行,在这不可以
       
 }
}

提问者:Xiaoponi 2016-04-25 18:39

个回答

  • 流逝的回忆已成空白
    2016-05-16 14:56:27

    http://img.mukewang.com/57396f110001d4f806930904.jpg

    public class HelloWorld {
        
        String name; // 声明变量name
        String sex; // 声明变量sex
        static int age;// 声明静态变量age
        
        // 构造方法
        public HelloWorld(){
            System.out.println("通过构造方法初始化name");
            name = "tom";
        }
        
        // 初始化块
        {
            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) {
            
            // 创建对象
            HelloWorld hello = new HelloWorld();
            // 调用对象的show方法
            hello.HelloWorld();
            hello.show();
            
        }
    }

  • 秋裤烂了个洞
    2016-04-25 19:01:44

    HelloWorld你写成了HeloWorld,你都不用IDE的吗?

  • 慕粉3239314
    2016-04-25 18:54:12

    因为你把HelloWorld给拼错了