为了账号安全,请及时绑定邮箱和手机立即绑定

求大神赐教

main

import java.util.Scanner;

public class text {


public static void main(String[] args) {

car car1=new car(1,"宝马",4,400);//为什么写成dada car1=new car(1,"宝马",4,400);就报错

truck truck1=new truck(2,"景龙",2000,500);

pickup pickup1=new pickup(3,"皮卡",4,1000,600);

System.out.println("欢迎使用哒哒租车系统!");

// TODO Auto-generated method stub

        System.out.println("你是否要租车?是1,否0");

       

        Scanner in = new Scanner(System.in);

         int i = in.nextInt();

         if(i==0){

        System.out.println("欢迎下次光临!") ;

         }

         else{

        System.out.println("你可以租车的类型及其价目表:");

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

        car1.getcar();

            truck1.gettruck();

            pickup1.getpickup();

         

         

         System.out.println("请输入你想租借的车序号");

         Scanner or = new Scanner(System.in);

         int order = in.nextInt();

         System.out.println("请输入你想租借天数");

         Scanner nu = new Scanner(System.in);

         int number = in.nextInt();

         switch(order){

         case 1: System.out.println("总费用为:"+400*number);break;

         case 2: System.out.println("总费用为:"+500*number);break;

         case 3: System.out.println("总费用为:"+600*number);break;

         }

         


}

}

}

dada类

public class dada {

String name;

int rent;

   int people;

   int goods;

   int order;

   public int getpeople(){

  return people;

  }

   public int getgoods() {

  return goods;

  }

   public String getname() {

  return name;

  }

   public int  getrent() { 

  return rent;

  }

   public int  getorder() {

  return order;

  }

   

}

car类

public class car extends dada {

public car(int o,String n,int p,int r ){

order=o;

name=n;

people=p;

rent=r;

}

    public void getcar(){

    System.out.println(order+"     "+name+"       "+people+"        "+rent+" ");

    }


}

pickup类


public class pickup extends dada {

public pickup(int o,String n,int g,int p,int r ){

order=o;

name=n;

goods=g;

people=p;

rent=r;

}

    public void getpickup(){

    System.out.println(order+"     "+name+"       "+goods+"/"+people+"    "+rent+" ");

    }

}

truck类


public class truck extends dada {

public truck(int o,String n,int g,int r ){

order=o;

name=n;

goods=g;

rent=r;

}

    public void gettruck(){

    System.out.println(order+"     "+name+"         "+goods+"     "+rent+" ");

    }

}


正在回答

3 回答

刚才把你的工程跑了一遍,其实对于"为什么写成dada car1=new car(1,"宝马",4,400);就报错"这个问题我发现,此时报错的并非dada car1=new car(1,"宝马",4,400);
而是car1.getcar();
因为你父类dada中并没有getcar()方法,所以导致错误。归根结底还是对于多态没有理解透彻。

对于父类引用指向子类对象而言,该引用只能调用父类中定义的方法和变量; 这就是原因了。

1 回复 有任何疑惑可以回复我~

刚开始学习,求赐教

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530097    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

求大神赐教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信