当前位置: 代码迷 >> J2SE >> java面向对象题,大家帮小弟我看看
  详细解决方案

java面向对象题,大家帮小弟我看看

热度:32   发布时间:2016-04-24 01:14:59.0
java面向对象题,大家帮我看看!
俺昨天考试遇到一题!面向对象概念不是很清晰,发上来大家帮我看看!

定义一个体育活动类(Sports)作为基类,它有一个进行活动的方法play(方法名命名规范:J2EE方向:小写字母开头 . NET方向:大写字母开头)。
足球(Football)和篮球(Bascketball)都是体育活动类的衍生类。
请在测试类(Test)中编写一个方法howToPlay(Sports sp),该方法要求传递一个Sports类型的参数。该方法的作用是:
1. 当传入的实例类型为Football时,控制台上应打印:足球是用脚踢的!
2. 当传入的实例类型为Bascketball时,控制台上应打印:篮球是用手打的!
在main方法中调用howToPlay()验证你的代码是对的。

本题目要求严格使用面向对象中的继承、多态概念。


俺的答案
//运动类
public class Sports{
public void play(){
System.out.println ("运动");
}
}
class Football extends Sports{
public void play(){
System.out.println ("足球是用脚踢的");
}

}
class Bascketball extends Sports{
public void play(){
System.out.println ("篮球是用手打的");
}

}
//测试类
class Test{
public void howToPlay(Sports sp){
sp.play();
}
public static void main(String[]args){
Test t=new Test();
t.howToPlay(new Bascketball());
}
}

------解决方案--------------------
写的很好
------解决方案--------------------
Java code
import static mytools.Print.*;class Sports{    void play(){        print("super play");    }}class Football extends Sports{    void play(){        print("足球是用脚踢的!");    }}class Bascketball extends Sports{    void play(){        print("篮球是用手打的!");    }}public class Test2{    static void howToPlay(Sports sp){        sp.play();    }    public static void main(String[] args){        howToPlay(new Football());        howToPlay(new Bascketball());    }}
------解决方案--------------------
基本正确,但最后将超类改成抽象类,如:
public class Sports{
public abstract void play();
}
------解决方案--------------------
没大懂你的意图
Java code
public class TestSports {    public   void   howToPlay(Sports   sp){         sp.play();    }    public static void main(String[] args){        Sports football=new FootBall();        Sports basketball=new Basketball();        TestSports test=new TestSports();        test.howToPlay(football);        test.howToPlay(basketball);    }} class Sports {    public void play(){        System.out.println("sports!");    }} class FootBall extends Sports{     public void play(){         System.out.println("kicking a goal!");     } }  class Basketball extends Sports{     public void play(){         System.out.println("give a 3-p shot!");     } }
------解决方案--------------------
嘿嘿,一天登录一次(或者100次)就可以增加10分可用分的。
  相关解决方案