java吧 关注:1,238,712贴子:12,708,964
  • 0回复贴,共1

初学者对JAVA面向对象多态性的疑惑。请各位大神解答。

取消只看楼主收藏回复

我直接插入问题.
//加入我先创建一个父类,然后父类中有两个方法tell1跟tell2//
class FuLei{
public void tell1(){
System.out.println("我是父类的tell1");
}
public void tell2(){
System.out.println("我是父类的tell2");
}
}
// 然后我建立一个子类的继承父类,并且我对tell1行进了重写,然后创建了tell3//
class ZiLei extends FuLei{
public void tell1(){
System.out.println("我是子类重写过得的tell1");
}
public void tell3(){
System.out.println("我是子类的tell3");
}
}
// 然后我写个有main方法的test类
public class test{
public static void main(String[] args){
Zilei z = new Zilei(); // 我创建一个子类对象
Fulei f = z; // 然后我向上转型 ,在这里"f"可以调用 子类中重写过得 tell1方法跟 子类继承的tell2方法。
//那么,我的问题来了,我要调用这两个方法明明直接用"z"就可以了啊!而且还可以调用tell3方法,干嘛还要多此一举,转一个弯,转一个型啊?有什么好处么?转型的意义何在?
}
}


1楼2016-08-28 02:33回复