▶문제8
다음 코드에서 생성자로 인한 오류를 찾아내어 이유를 설명하고 오류를 수정하라.
1
2
3
4
5
6
7
8
9
|
class A {
private int a;
protected A(int i) { a = i; }
}
class B extends A {
private int b;
public B() { b = 0; }
}
|
cs |
[답]
-. B가 A를 상속받았으니 값도 B가 객체생성하면서 데이터를 받았을텐데 데이터를 받을 A의 기본생성자가 classA에 있다.
-. public A(){}의 생성자를 만들어주거나 public B(){ super(1); b=0;}으로 수정한다.
▶문제9
다음 추상 클래스의 선언이나 사용이 잘못된 것을 있는 대로 가려내고 오류를 지적하라.