public class InterviewTest {
public static void main(String[] args) {
Base base = new Sub();
//编译期调用父类声明的方法,在运行期,实际上执行的是子类重写父类的方法
base.add(1,2,3);//sub_1
Sub s = (Sub) base;
//强转,重写子类中特有的方法
s.add(1,2,3);//sub_2
}
}
class Base{
public void add(int a,int ... arr){
System.out.println("base1");
}
}
class Sub extends Base{
public void add(int a,int[] arr){
System.out.println("sub_1");
}
public void add(int a,int b,int c){
System.out.println("sun_2");
}
}