关于this与含参为数组构造

无参函数调用为数组参数含参


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的变量或者常量,类型不同,所以报错。