java,构造方法不能手工调用?

来源:百度知道 编辑:UC知道 时间:2024/07/11 14:20:36
什么意思?下面的代码 this(2);不就手工调用了吗?
class Cat{
int a;
Cat(int a){
this.a=a
}
Cat(){
this(2);
}
public static void main(String[] args){
new Cat();
}
}
思路:构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.

这个代码的意思就是实例一个带一个空参数的构造函数。如果在主方法里面调用
new CAT(2)那么就是掉上面的那个有一个参数的构造函数。一个类可以有多个构造函数,根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

调用自身的构造函数。this(2);