/*多态示例*/
package demo;
class AA {
public void f(){
System.out.println("f in AA");
}
}
class BB extends AA{
public void f(){
System.out.println("f in BB");
}
}
public class Test_Dt {
public static void main(String[] args) {
AA a=new AA();
BB b=new BB();
a.f();
a=b;
a.f();
b=(BB)a;
b.f();
}
}
/*多态失效*/
package demo;
class A{
public static void f(){
System.out.println("f in A");
}
}
class B extends A{
public static void f(){
System.out.println("f in B");
}
}
public class Test {
public static void main(String[] args) {
A a=new A();
B b=new B();
a=b;
//多态在静态方法上失效了
//静态方法是属于类的
a.f();
b.f();
}
}
本文通过两个示例详细解析了Java中多态的概念及其限制。首先介绍了如何通过继承实现多态,并展示了运行时多态性的特点。其次,通过静态方法演示了多态的局限性,即静态方法不会随对象类型的不同而表现出不同的行为。
2288

被折叠的 条评论
为什么被折叠?



