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

构造方法的构造

public   HelloWorld() {
  System.out.println("通过构造方法初始化name");
  name = "tom"; } 
    // 初始化块  这里为什么不写public   HelloWorld()  { 
  System.out.println("通过初始化块初始化sex");
  sex = "男";
 }

提问者:qq_象牙塔的子亥子 2017-06-14 14:04

个回答

  • Sherlock丶Holmes
    2017-06-17 18:12:32

    要区分开它们两者的区别,

    首先构造方法,当创建一个类的对象的时候你会选择它使用什么样的构造方法,一个参数还是两个参数的构造方法,

    每次创建一个对象就会执行  对应的  构造方法的语句;  其它构造方法不执行

    初始化块,是无论你用什么构造方法,反正创建对象就必须先执行一次初始化块的代码。

  • 慕数据801883
    2017-06-14 19:00:19

    就算写出来,也会直接编译报错,主要是你想要实现什么功能呢

  • 慕斯8755769
    2017-06-14 15:40:08

    这是初始块和构造方法不一样

  • 瓜皮小孩
    2017-06-14 15:16:57

    你这代码就算写了那个不也是错的吗。。。

  • 飞翔的沙鱼
    2017-06-14 14:55:26

    这样写的话,方法名称一样,调用的时候会有问题吧,调用哪一个?