同意上面的说法 new a();或者new a(5);不同的进行了初始化了对象 class a{ public a(){ } public a(int b){ } }
当你实例化一个类的时候,即用 new XXX(aaa)创建一个对象的时候,JVM能够自动执行的这个类的方法,在这个方法里,通常是给这个对象的成员变量赋初始值,来避免使用成员变量时,由于成员变量不是恰当的初始值,造成运行时错误;通常情况下,对于基本数据类型成员变量,JVM在执行构造器之前已经根据相应的数据类型初始了默认值,如int数据类型的默认值是0,即时不再初始化他们也能正常使用,不过是初始的数值可能不是我们所期望的数值而已;但是对于引用数据类型,初始默认值是NULL,当你试图操作该引用数据类型所指向的对象时,就会造成运行时错误。
class a{
public a(){ }
public a(int b){ }
}
1、构造方法的名称必须与类的名称完全一致,所以我们常用的方法的命名规则不适合构造方法的命名。
2、构造方法声明时不允许有返回类型,包括void关键字。
3、构造方法不能使用static修饰符,这个不用想也会知道的,呵呵