import java.util.ArrayList;
class A1{
public void fun1() {
System.out.println("方法一");
}
public void fun2() {
System.out.println("方法2");
}
}
class B1 extends A1{
public void fun1(){
System.out.println("重写A1的方法1");
}
public void fun2(){
System.out.println("重写A1的方法2");
}
}
public class Test {
public static void main(String[] args) {
B1 b1 = new B1();
callA(b1);
A1 a = b1;//子类能自动的转换成父类
callA(a);
}
//编译器自动将 类B1转换成A1类型
public static void callA(A1 a1){
a1.fun1();
a1.fun2();
}
class A1{
public void fun1() {
System.out.println("方法一");
}
public void fun2() {
System.out.println("方法2");
}
}
class B1 extends A1{
public void fun1(){
System.out.println("重写A1的方法1");
}
public void fun2(){
System.out.println("重写A1的方法2");
}
}
public class Test {
public static void main(String[] args) {
B1 b1 = new B1();
callA(b1);
A1 a = b1;//子类能自动的转换成父类
callA(a);
}
//编译器自动将 类B1转换成A1类型
public static void callA(A1 a1){
a1.fun1();
a1.fun2();
}
}
打印结果 :
重写A1的方法1
重写A1的方法2
重写A1的方法1
重写A1的方法2