Test.javaSuperClass s = new SubClass();?
public class Test {
public void go(){
System.out.println("Test go");
}
}
Test2.java
public class Test2 extends Test {
public void go(){
System.out.println("Test 2 go");
}
public void back(){
System.out.println("Test 2 back");
}
}
class Demo{
public static void main(String[] args) {
Test t=new Test2();
t.go(); // Output : "Test 2 go"
t.back(); //Compile time error.
}
}
我讀計算器這方面的一些問題,但我不明白的SuperClass s=new SubClass();
意義。 同樣在輸出中,如果測試對象可以訪問Test2的go()
方法,那麼爲什麼它不能訪問back()
方法。
參見官方語言教程:https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html –