62,623
社区成员
发帖
与我相关
我的任务
分享
package alltest;
class AA{
public void m1(){
}
}
class BB extends AA{
@Override
public void m1() {
System.out.println("I am B.m1()");
}
}
class CC extends AA{
@Override
public void m1() {
System.out.println("I am C.m1()");
}
}
public class ExtendsTest{
public static void show(AA a){
a.m1();
}
public static void main(String[] args){
AA b = new BB();
AA c = new CC();
show(b);
show(c);
}
}
OutPut:
I am B.m1()
I am C.m1()
调用a.m1(),其实是调用实际对象的的m1()方法,即运行时对象的方法
package alltest;
interface AA{
public void m1();
}
class BB implements AA{
public void m1() {
System.out.println("I am B.m1()");
}
}
class CC implements AA{
public void m1() {
System.out.println("I am C.m1()");
}
}
public class ExtendsTest{
public static void show(AA a){
a.m1();
}
public static void main(String[] args){
AA b = new BB();
AA c = new CC();
show(b);
show(c);
}
}
OutPut:
I am B.m1()
I am C.m1()