클래스에 매개 변수화 된 생성자가있는 경우 Java가 기본 생성자를 제공하지 않는 이유는 무엇입니까? 다음은 다음의 예클래스에 매개 변수화 된 생성자가있는 경우 Java가 기본 생성자를 제공하지 않는 이유는 무엇입니까?
class A {
int a;
public A() {
}
public A(int val) {
a = val;
}
}
을 고려 I 명시 적으로 기본 생성자를 추가해야합니다. Java가 매개 변수화 된 생성자를 갖는 클래스에 기본 생성자를 제공하지 않는 이유는 무엇입니까?
나는 이것이 중복이라고 생각하지 않는다. 그것은 * 왜 사양에 그것이 무엇을 하는지를 묻는 것입니다. – OrangeDog
@OrangeDog 여기의 어려움은 OP 질문에 대한 문자 적 대답이 ""기본 생성자의 정의가 '컴파일러가 정의하지 않을 때 정의하는 컴파일러이므로 생성자를 명시 적으로 정의 할 때 컴파일러는 기본 생성자를 생성하지 않습니다. 다른 것'"*. (그들의'public A() {}'는 기본 생성자가 아닙니다.) OP는 아마도 인자없는 생성자에 대해 실제로 묻는 용어와 아마도 * 아마 *를 혼합하고있을 것입니다. OP가 용어를 섞어 놓고 있다고 가정한다면 질문을 편집해야 할 것입니다. – Radiodef