// A.java
public abstract class A { //class A
private int x = 0;
public A(int xx) {
x = xx;
}
public int getX() {
return x;
}
public void addX(int dx) {
x = x + dx;
}
public abstract void method1();
}
// B.java
public class B extends A { //Class B
private int y = 0;
public B(int xx, int yy) {
super(xx);
y = yy;
}
public int getY() {
return y;
}
public void addY(int dy) {
y = y + dy;
}
public void method1() {
addX(y);
}
public void method2() {
addY(getX());
}
}
// C.java
public class C extends B { //Class C
private int w = 0;
public C(int xx, int yy, int ww) {
super(xx, yy);
w = ww;
}
public int getW() {
return w;
}
public void addW(int dw) {
w = w + dw;
}
public void method1() {
addX(w);
}
}
// D.java
public class D extends A { //Class D
private int z;
public D(int zz) {
z = zz;
}
public int getZ() {
return z;
}
public void addZ(int dz) {
z = z + dz;
}
public void method1() {
addX(z);
}
}
// E.java
public class E extends A { //Class E
private int z;
public E(int xx, int zz) {
super(xx);
z = zz;
}
public int getZ() {
return z;
}
public void addZ(int dz) {
z = z + dz;
}
public void method2() {
addX(z);
}
}
1.请问编辑D,E时为什么会发生错误?稍微具体一点
2.编辑以下3段代码时候会发生错误,请问是哪一行错了为什么?
(1)
A a1 = new A(); //1
a1.addX(50);//2
System.out.println(a1.getX()); //3
(2)
b2 = new B(1, 2); //1
A a2 = b2;//2
a2.method2(); //3
System.out.println(a2.getX()); //4
(3)
B b3 = new B(3, 4);//1
C c3 = b3;//2
c3.method1();//3
System.out.println(c3.getX()); //4
急求,五点之前请作答,感激不尽