JAVA中的参数化构造方法和默认构造方法他们有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:46:12
默认构造方法也叫隐式构造方法是么?.
有什么不同么?.
可以详细一些吗。谢谢

class Test {
int n;
}

class Test {
int n;
Test() {
}
}

这两个类本质上是一样的,当没有提供构造方法时,编译器会自动加上一个默认的不带参数的构造方法,就是上面2个类的例子。你自己写上的话编译器就不加了,省略编译器就加上。

每个类都必须至少有一个构造方法,不写时便是上述原因编译器自动给你加的,不是它没有构造方法。

而带参数的构造方法或者说参数化的构造方法,就是指构造方法的参数不是空的,比如:

class Test {
int n;
Test(int n) { this.n = n; }
}

默认的是什么也不带的。

默认的是不写任何构造方法,java会自动加上一个无参构造方法。
而在手工添加了带参构造方法后,不再自动提供无参构造,需手工添加无参构造方法。