【发布时间】:2017-02-06 08:40:21
【问题描述】:
Test.java
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.
}
}
我在 stackoverflow 上阅读了一些关于此的问题,但我不明白 SuperClass s=new SubClass(); 的含义。
同样在输出中,如果测试对象可以访问 Test2 的 go() 方法,那么为什么它不能访问 back() 方法。
【问题讨论】:
标签: java object inheritance polymorphism abstraction