爱问知识人 爱问教育 医院库

要JAVA的简单例子,继承\多态的,详细讲解运行的每一步

首页

要JAVA的简单例子,继承\多态的,详细讲解运行的每一步


        

提交回答
好评回答
  • 2008-11-25 11:27:00
      java中的多态是动态绑定的,也就是说在编译期不能确定一个方法的执行体是哪个方法(在继承中重写的方法)。执行果支委会根据在堆上分配的的引用去寻找方法体,所以产生你你所不想要的结果是正常的也是正确的。改法有三种:第一种: 在子类中不要重写PlaytoString()这个方法就行了。
      这样子类的引用只能使用父类的PlaytoString()方法,就会打印出你想要的结果。如:class Round extends Shape { } //空的就行了第二种: 在子类中只写一句,super。PlaytoString()就行了。如:class Round extends Shape { void PlaytoString() { super。
      PlaytoString(); } } 第三种:在方法中加一个标识参数bFlag,当bFlag为true时实现子类方法,为false时调用super。PlaytoString()如:class Shape { //在这是个伪参数,为了给子类一个相同的接口 void PlaytoString(boolean bFlag) { intln("Shape"); } } class Round extends Shape { void PlaytoString(boolean bFlag) { if(bFlage) super。
      PlaytoString(); else intln("Round"); } }***********补充***********************第3种方法,父类和子类都采用void PlaytoString(boolean bFlag) 这个方法,没有那个无参的了。
      因为java里所有的方法都是虚的,所以在执行时都是动态绑定的,目前也只有通过一个参数来确定人执行的父类的方法还是子类的。我建议你看一下Thinking in java这本书,里面有所讲解。当然,步痕旅游网想法:class Round1 extends Round{ void PlaytoString() { intln("Round1"); } } class Round2 extends Round{ void PlaytoString() { intln("Round2"); } } --------------------------------------------Shape manyRound[] = new Round[4]; manyRound[0] = new Round1(); manyRound[1] = new Round2(); for(int i=0; i < manyRound。
      length; i ) { manyShape[i]。
      PlaytoString(true); } ----------------------------------------------希望结果,"Round" "Round"实际结果, "Shape" "Shape" 。

    p***

    2008-11-25 11:27:00

其他答案

    2008-11-24 21:30:00
  • 多态是指接口.继承是指一个类从另一个类上获取某一方法和属性

    o***

    2008-11-24 21:30:00

  • 2008-11-24 11:35:00
  • 继承是继承父类的属性和方法,子类可以增加属性和方法,也可以重写父类的方法。多态,就是接口,接口相当于一个虚拟类,里的方法全为空,可以在实现接口里实现方法

    n***

    2008-11-24 11:35:00

  • 2008-11-24 10:03:00
  • 从网上找个例子看看就  行啦

    z***

    2008-11-24 10:03:00

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):