我正在创建一些随机类来更好地理解多态性.编码如下:
Poly1:
public abstract class Poly1 {
int comPoly;
}
Run Code Online (Sandbox Code Playgroud)
SubPoly1:
public class SubPoly1 extends Poly1 {
String testPoly;
}
Run Code Online (Sandbox Code Playgroud)
SubPoly2:
public class SubPoly2 extends Poly1 {
int x;
}
Run Code Online (Sandbox Code Playgroud)
testPoly:
public class testPoly {
public static void main(String[] args) {
Poly1[] testObj = new Poly1[2];
testObj[0] = new SubPoly1();
testObj[1] = new SubPoly2();
testObj[1].x = 1;
testObj[1].comPoly = 2;
System.out.println("Test Output : " + testObj[1].x+ " and " + testObj[1].comPoly);
testObj[0].testPoly = "Hello";
testObj[0].comPoly = 8;
System.out.println("Test Output : " + testObj[0].testPoly+ " and " + testObj[1].comPoly);
}
}
Run Code Online (Sandbox Code Playgroud)
但是程序没有超过编译阶段,因为symbol not found每当我尝试从SubPoly1或访问变量时我都会收到错误SubPoly2(例如testObj[1].x会返回错误).
任何帮助,将不胜感激.