本帖最后由 chn_qmn 于 2012-11-23 11:39:09 编辑

解决方案 »

  1.   

    父类是抽象的,里面有个抽象方法starpUp(),继承他的子类必须实现抽象方法.目测应该就是这个错误吧,我也才学2个月
      

  2.   

    你Mazda6 要是实现car类里面的abstract方法的 也就是startUp()方法
      

  3.   


    public class Fish
    {
        public static void main(String[] args)
        {
            Mazda6 m6 = new Mazda6();
             
            m6.startUp();
            m6.turbo();
             
            Mazda3 m3 = new Mazda3();
             
            m3.startUp();
            m3.turbo();
        }
    }abstract class Car
    {
        public abstract void startUp();
    }abstract class Mazda extends Car
    {
        public abstract void turbo();
    }class Mazda6 extends Car
    {
        public void turbo()
        {
            System.out.println("调用了Mazda6的加速功能!!!");
        } @Override
    public void startUp() {
    // TODO Auto-generated method stub
    System.out.println("调用了Mazda6的启动功能!!!");
    }      
    }class Mazda3 extends Car
    {
        public void turbo()
        {
            System.out.println("调用了Mazda3的加速功能!!!");
        } @Override
    public void startUp() {
    // TODO Auto-generated method stub
    System.out.println("调用了Mazda3的启动功能!!!");
    }
     
    }这样写就不会出错了
      

  4.   

    父类是抽象的,里面有个抽象方法startUp(),继承他的子类必须实现抽象方法,你写的程序实现的方法是starup(),可能是你方法名字写错了,还有一个程序里只有一个public类,把其他类前面的public去掉,或者新建一个类,这样就ok了!
      

  5.   

    一个文件中public class(包含main())只能有一个,其余都将public去掉就好了
      

  6.   

    首先你的Mazda6 和Mazda3里面的方法名写错了。还有既然把两个抽象类和两个子类放到Fish类里面,那么就不能这样建立对象了,要么像GJ20107924回答的那样写,要么
    Fish f=new Fish();   
    f.new Mazda6().startUp();
    这样调用。
      

  7.   

    楼上是正解!package com.qustion;public class Fish
    {
        abstract class Car
        {
            public abstract void startUp();
        }
     
        abstract class Mazda extends Car
        {
            public abstract void turbo();
        }
     
        public class Mazda6 extends Car
        {
            public void starup()
            {
                System.out.println("调用了Mazda6的启动功能!!!");
            }
             
            public void turbo()
            {
                System.out.println("调用了Mazda6的加速功能!!!");
            } @Override
    public void startUp() {
    // TODO Auto-generated method stub

    }      
        }
     
        public class Mazda3 extends Car
        {
            public void starup()
            {
                System.out.println("调用了Mazda3的启动功能!!!");
            }
             
            public void turbo()
            {
                System.out.println("调用了Mazda3的加速功能!!!");
            } @Override
    public void startUp() {
    // TODO Auto-generated method stub

    }
         
        }
     
         
        public static void main(String[] args)
        {
            Mazda6 m6 = new Fish().new Mazda6();
             
            m6.startUp();
            m6.turbo();
             
            Mazda3 m3 = new Fish().new Mazda3();
             
            m3.startUp();
            m3.turbo();
        }
    }
      

  8.   

    一个class文件里最好只写一个类,其他的class文件都分开写,需要的时候直接调用,这样才实现了java面向对象的思想嘛
      

  9.   

    Mazda6,Mazda3这两个类都没有继承Mazda这个类,然后调用Car里没有的public void turbo()方法,肯定报错里