에러 메시지
No enclosing instance of type Class is accessible. Must qualify the allocation with an enclosing instance of type Class (e.g. x.new A() where x is an instance of Class).
원인
static void main 메소드에서 최상위 클래스 선언 없이 내부 public 클래스 생성자를 호출했을 때 발생함.
public class Sample {
public static void main(String[] args) {
A sampleA = new A();
}
class A {
int a;
A(){
this.a = 0;
}
A(int a){
this.a = a;
}
public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
}
}
해결
① 클래스 선언문을 추가해준다.
Sample s = new Sample();
② new 앞에 클래스 선언 변수를 추가해준다.
A sampleA = s.new A();
public class Sample {
public static void main(String[] args) {
Sample s = new Sample();
A sampleA = s.new A();
}
class A {
int a;
A(){
this.a = 0;
}
A(int a){
this.a = a;
}
public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
}
}
'기타 > 에러처리' 카테고리의 다른 글
MySQL : Foreign keys are not yet supported in conjunction with partitioning (0) | 2021.10.11 |
---|