请问一下?

如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

这样说的话如果子类实现了父类的抽象方法那子类也不一定要为抽象类对么。

package zuche;


public abstract class Dada {


  abstract void show();

  abstract void nums();

  abstract void days();

  abstract void counts();

}    

//子类

package zuche;


import java.util.Scanner;

public abstract class Xianshi extends Dada {


          

   public void show(){

          System.out.println("您是否要租车:1是   0否");

          Scanner p=new Scanner(System.in);

          int a=p.nextInt();

          if( a==1)

         {System.out.println("您可租车的类型及其价目表");

          System.out.println("序号 汽车名称 租金          容量");

          System.out.println("1. 奥迪A4 500元/天          载人:4人");

          System.out.println("2. 马自达 400元/天          载人:4人");  

          System.out.println("3. 皮卡雪6 500元/天          载人:4人 载货:2吨");

          System.out.println("4. 金龙 800元/天          载人:20人");

          System.out.println("5. 松花江 400元/天         载货:4吨");

          System.out.println("6. 奥迪A4 1000元/天          载货:20吨");

         }

          else {System.out.println("谢谢使用");}

        

         

   

   

   

   }

}

在子类的类型上,我如果不加abstract,系统就报错,加了才会好。可以帮忙解释一下么,谢谢了

慕工程6005648
浏览 1074回答 2
2回答

四无小青年

子类继承抽象类之后继承了抽象方法,如果你不重写抽象方法那这个子类就存在一个抽象方法,具有抽象方法的类只能是抽象类,所以需要添加abstract关键字。望采纳

yanrun

因为你的子类需要实现 abstract void show();  abstract void nums();  abstract void days();  abstract void counts();才可以是一个非抽象类,而你只实现了一个方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java