无参函数调用为数组参数含参
class a{
int j;
private char a[];
char[] b= new char[]{'1','4'};
public a(){
this(1,b);//此处编译错误
System.out.println("无参");
}
public a(int i, char[] a){
this.j=i;
this.a = a;
System.out.println("含参参");
}
}
应该是this.b
你只能在构造函数中使用static的变量
this(1,b);//此处编译错误
这里不能传b,this调用下面的构造函数时,把b赋值给b(矛盾了吧)。从语法上来讲,这里b只能是static的变量或者常量,类型不同,所以报错。