1-10有点问题,烦请指教

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

浥浥浅梅风下露

2017-04-17 16:06

按照老师的代码敲了一遍,创建对象的时候并没有执行构造方法呀?为什么老师的就执行了?我的并没有打印出num1,我打印的是0,求解

写回答 关注

4回答

  • 慕粉_逍遥的fish
    2017-04-17 16:31:17
    已采纳

    //这是我的代码,运行都OK的

    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.show();

            

    }

    }


  • 慕圣0830664
    2017-04-22 23:46:07

    构造函数并不需要我们通过手动编写代码来调用。

    当new出一个类对象时,系统会自动调用该对象的构造方法,来对其完成初始化。

    构造方法满足两条件:第一,名字与类名相同; 第二,不能有返回值。

  • 王慧仁
    2017-04-17 22:48:55

    HelloWorld构造器中传入参数  public HelloWorld{String name}

  • SkullFang
    2017-04-17 16:32:22

    贴上你的代码。构造方法要与类名称一样。

    SkullF... 回复浥浥浅梅风下...

    这是语法规则呀,好比如 为什么人要吃饭一样的。

    2017-04-21 16:26:29

    共 2 条回复 >

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题