定义name 和age,不会自动null和0
只有你new Person()得时候JVM装载Person得时候才会为属性name = null, age = 0完成初始化内存分配。
通常构造方法里面不建议增加无关的####打印这样,但是你可以写的。
假如没有定义构造方法会自动生成一个无参构造,为什么要自动生成无参构造呢?
无参的默认不写,但是如果你写了其他的
public Person(String name),如果你想直接new Persn(),就必须要写,你可以理解为public Person(String name)‘覆盖‘掉了无参。多样化构造方法可以造成代码适当明了一点点,某种程度上可以让某些程序员风格一致。
譬如a构造对象的时候总喜欢Person p = new Person();
B喜欢Person p = new Person("zhang san");