java吧 关注:1,238,775贴子:12,709,803
  • 10回复贴,共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回复
    多态,十分重要


    IP属地:广东来自Android客户端2楼2016-08-28 02:50
    回复
      多态,十分重要


      IP属地:广东来自Android客户端3楼2016-08-28 02:50
      收起回复
        成功永远属于马上行动的人。


        IP属地:天津来自iPhone客户端4楼2016-08-28 02:51
        回复
          斜斜的掠天而去,我看到你的面容浮现在苍蓝色的天空之上,于是我笑了,因为我看到你,快乐的像个长不大的孩子。


          IP属地:辽宁来自Android客户端6楼2016-08-28 04:20
          回复
            解耦,你看看,一个类有多个子类,每个子类实现方法不同,这样写是不是可以随便调换子类,随便调换功能,是不是很方便


            IP属地:黑龙江来自Android客户端8楼2016-08-28 08:20
            回复
              如果你懂反射,这些就很有用,特别是运行时修改程序,可以根据字符串动态判断调用子类还是父类,还有就是一功能多解决方案的情况,继承重写会让代码变得容易维护


              IP属地:广西来自Android客户端9楼2016-08-28 08:38
              回复