题目如下:Engine(引擎),具有power(功率,整数)属性,相对应的setter和getter方法,work()方法:输出"xx功率的发动机在运转"
Car(轿车),具有Engine属性,相对应的setter和getter方法,run()方法,在方法中判断Engine对象是否为null,选择输出"发动机发动不了"或者"xx功率的发动机在运转,汽车在跑"
Benz(奔驰),继承Car类,重写run()方法
Driver(驾驶员),具有属性name(姓名),相对应的setter和getter方法,driveCar(Benz benz)方法,在方法中输出“xxx 在开车”,并调用benz的run()方法看得有点晕,谁可以帮我分析一下Car类。

解决方案 »

  1.   

    就是Car是父类啊,就是后面的奔驰之类继承之后用super.run()调用父类的方法就对了啊
      

  2.   

    我其实不懂的是:Car(轿车),具有Engine属性,这句话的Engine的属性到底是什么的属性?
      

  3.   

    interface Car{
    void run(Engine x);
    }
    interface Engine{
    void work(int power );
    }
    class Driver{
    driveCar(Car car);
    }
    class Benz implements Car{
    @override 
    void run(Engine x){
    }
    }
      

  4.   

    它不仅具有power(功率,整数)属性,相对应的setter和getter方法,还具有work()方法:输出"xx功率的发动机在运转"
      

  5.   

    Car类为父类,继承他的类拥有它的方法,还可以自己扩展父类所没有的方法和变量!
      

  6.   

    car类是父类,和Engine属性有关联关系
      

  7.   


    Car(轿车),具有Engine属性,这个是说Engine是car的类属性,把Engine当做一个普通的属性就可以了,但是不同的是Engine这个属性可以调用Engine类的所有属性和方法……
      

  8.   

    public abstract class Car {
    Engine engine; public Engine getEngine() {
    return engine;
    } public void setEngine(Engine engine) {
    this.engine = engine;
    }
    public void run(){
    if(engine == null){
    System.out.println("发动机发动不了");
    }else{
    System.out.println(engine.getPower()+"功率的发动机在运转,汽车在跑");
    }
    }
    }
      

  9.   

    Engine类:
    public class Engine {
    private int power; public int getPower() {
    return power;
    } public void setPower(int power) {
    this.power = power;
    }
    public void work(){
    System.out.println("XX功率的发动机正在运转。。");
    }}
    Car类:
    public class Car {
    private Engine engine; public Engine getEngine() {
    return engine;
    } public void setEngine(Engine engine) {
    this.engine = engine;
    }
    public void run (){
    if(engine==null){
    System.out.println("发动机发动不了");
    }else{
    System.out.println("xx功率的发动机在运转,汽车在跑");
    }
    }
    }后面的没写,Car类就这样写,记住一句话:类是特殊的数据类型
      

  10.   

    public class Engin {
        public int power; public int getPower() {
    return power;
    } public void setPower(int power) {
    this.power = power;
    }
    public Engin(int power){
    this.power=power;
    }
        public void work(){
         System.out.println(this.power+"功率的发动机在运转");
        
        }
    }
    public abstract class Car {
      public  Engin engin=null;
      public Engin getEngin(){
      return engin;
      }
      public void setEngin(Engin engin){
    this.engin=engin;  

      }
      public Car(Engin engin){
      this.engin=engin;
      }
      public abstract void run();
     
      
    }public class BZ extends Car{
    public BZ(Engin engin){
    super(engin);
    }
        public void run(){
         super.engin.work();
         System.out.println("奔驰牌的发动机在发动");
        }
        
       
    }
    public class Drive {
    public String name;
    public Drive(String name){
    this.name=name;
    }
       public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
        public void driveCar(BZ b){
         System.out.println(name+"在驾驶汽车");
         b.run();
        }
    }
    public class test { /**
     * @param args
     */
    public static void main(String[] args) {
    Drive d=new Drive("小明");
    Engin engin=new Engin(1000);
    BZ b=new BZ(engin);
    d.driveCar(b); }}
      

  11.   

    其实就是子类继承父类,子类拥有父类包含的属性,定义一个子类对象a,可以通过a来调用父类的public修饰的方法来使用父类的属性,比如调用get方法来得到父类也就是Car的属性