不能理解java的多态问题,请高手指点一下??

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:19:19
刚刚学了多态 彻底晕了 怎么这么难啊?麻烦高人给解释一下吧
能举个例子 再详细解释一下吗?谢谢

我以前也回答过一个关于java多态的问题:

多态。

关于java的多态,有的书上是这样讲的,它讲java的多态分成静态的多态,和动态的多态,而所谓静态的多态就是只函数的重载,动态的多态就是方法的覆写。
如下面:
class Test
{
void print()
{
System.out.println("hello world");
}
void print(int x)
{
System.out.println("hello world"+i);
}
public static void main(String []args)
{
Test ts=new Test();
ts.print();
ts.print(10);
}
}
/*
上面的程序就是在一个类中成员方法的重载例子。也就是一个静态的多态性。系统会在你编译的时候根据你调用的方法的参数列表来动态的决定调用那一个函数。
*/

动态的多态:

class Test
{
void print()
{
System.out.println("hello Test");
}
public static void main(String []args)
{
A a=new A();
a.print();
}
}

class A extends Test
{
void print()
{
System.out.println("hello A");
}
}

/*
这时由于子类覆写了父类的方法,所以调用的是子类覆写后的方法。