案例介绍:

请设计一个汽车类Auto,其中包含一个表示速度的double刑的成员恋量speed,表示启动的start()方法、表示加速的speedUp()方法以及表示停止的 stop()方法。再设计一个Auto类的子类Bus表示公共汽车,在Bus类中定义一个int型的表示乘客数的成员变量passenger,另外定义两个方法 gotOn()和 gotOff()表示乘客上车和下车。编写程序测试Bus类的使用。

关于这类案例,有两种方法:
(1)只保留TestBus类的public,去掉Auto类、Bus类的public。
(2)多类运行。将该程序分成三类:Auto类、Bus类和TestBus类,最后在TestBus类运行即可。

方法一的案例代码:

public  class TestBus{public static void main(String [] args){Bus bus = new Bus();bus.start();bus.speedUp(60);bus.stop();bus. gotOn(10);bus. gotOff(5);}
}
class Auto {private double speed;public void start(){System.out.println("The auto is started.");}public void speedUp(double speed){this.speed = speed;System.out. println("The auto is speed up to " + speed + "kilo/h." );}public void stop(){this.speed = 0;System.out.println("The auto is stoped.");}
}
class Bus extends Auto{private int passenger;public void gotOn(int n){passenger = passenger + n;System.out.println("The person on bus is : " + passenger) ;}public void gotOff(int n){passenger =passenger - n;System. out. println("The person on bus is: " + passenger);}
}

方法一的案例运行图:


方法二的案例代码:
(1)Auto类

public class Auto {private double speed;public void start(){System.out.println("The auto is started.");}public void speedUp(double speed){this.speed = speed;System.out. println("The auto is speed up to " + speed + " kilo/h." );}public void stop(){this.speed = 0;System.out.println("The auto is stoped.");}
}

(2)Bus类

public class Bus extends Auto{private int passenger;public void gotOn(int n){passenger = passenger + n;System.out.println("The person on bus is :" + passenger) ;}public void gotOff(int n){passenger =passenger - n;System. out. println("The person on bus is :" + passenger);}
}

(3)TestBus类

public  class TestBus{public static void main(String [] args){Bus bus = new Bus();bus.start();bus.speedUp(60);bus.stop();bus. gotOn(10);bus. gotOff(5);}
}

注意:一定要在TestBus类运行才行。

方法二的案例运行图:

小结:

为什么方法一中只保留TestBus类的public,去掉Auto类、Bus类的public才能运行成功呢?

因为在Java语言中在一个Java源文件中不能同时出现“public”类,因为Java源文件最多只能包含一个public类定义。我们知道,有public的类表示全局类(全局类可以被import到其他类里面),而无public的类表示保留类(该类只能被本包里的其他类引用)。所以,要想在多个public class类共存,有两种方法:
①在{}的外部去掉public,只保留class类
②不去掉public,但要把public class类放在{}里面,将它作为一个内部类。

我们可以通过以下代码更好地理解:

Java学习之设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。相关推荐

  1. 设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start0方法、表示加速的speedUp()方法以及表示停止的stop()方法。

    设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start0方法.表示加速的speedUp()方法以及表示停止的stop()方法.再设计一个Auto的子类Bu ...

  2. JAVA设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight

    编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数loader.卡车类Truck是C ...

  3. java定义一个日期类 包括年 月 日_定义一个日期类:包括年、月、日三个成员变量,显示日期的方法...

    /*定义一个日期类:包括年.月.日三个成员变量,显示日期的方法 * 提供构造方法:定义无参构造方法,和有参构造方法 */ 代码如下: public class Demo { public static ...

  4. java构造实部与虚部,1.定义一个复数类Complex,该类有代表实部与虚部的成员变量,有两个构造函数Complex()...

    1.定义一个复数类Complex,该类有代表实部与虚部的成员变量,有两个构造函数Complex() 2016-08-23 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 1.定义一个复数类C ...

  5. java构造实部与虚部,【跪求】【Java】编程实现一个复数类Complex,要求其实部和虚部用private的成员变量表达...

    [跪求][Java]编程实现一个复数类Complex,要求其实部和虚部用private的成员变量表达 关注:189  答案:4  手机版 解决时间 2021-02-26 05:37 提问者怪咖 202 ...

  6. JAVA学习—定义标准的POJO类—2021-06-30

    JAVA学习-定义标准的POJO类-2021-06-30 如何定义一个"标准的类" 1.所有的成员变量都需要使用private关键字私有化(以确保数据安全) 2.为每一个成员变量编 ...

  7. Java 小白 设计加油站类和汽车类,加油站提供一个给车加油的方法,参数为剩余汽油数量。每次执行加油方法,汽车的剩余数量都会加2

    //设计加油站类和汽车类,加油站提供一个给车加油的方法,参数为剩余汽油数量.每次执行加油方法,汽车的剩余数量都会加2 public class fourteen {public static void ...

  8. 2、设计2个类,要求如下:[必做题] 2.1 定义一个汽车类Vehicle, 2.1.1 属性包括:汽车品牌brand(String类型)、颜色color(String类型 )和速度speed(do

    2.1 定义一个汽车类Vehicle 2.1.1 属性包括:汽车品牌brand(String类型).颜色color(String类型)和速度speed(double类型). 2.1.2 至少提供一个有 ...

  9. 编程定义一个汽车类Car

    编程定义一个汽车类Car 要求如下: (1)定义成员变量:品牌(String brand),价格(double price),颜色(String color),销售日期(Calendar date): ...

最新文章

  1. 安装oracle11的时候 提示ORA-28056 未能将审计记录写入windows事件日志,这是怎么回事啊
  2. 干货 | 手把手教你用115行代码做个数独解析器!(附代码)
  3. Autodesk Infrastructure Map Server(AIMS)/MapGuide API 培训材料--第1章
  4. Gitlab 安装 使用
  5. poj2065 SETI
  6. flashfxp连mysql_FlashFXP 命令行参数
  7. ClickHouse【环境搭建 02】设置用户密码的两种方式(明文+SHA256)及新用户添加及只读模式 Cannot execute query in readonly mode 问题解决
  8. 图论相关算法理解和总结
  9. TI-89T 教你在C程序里调用TI-BASIC程序,看看是否有人对这个感兴趣
  10. Linux中断 - tasklet
  11. centos 断电重启后,文件系统损坏修复
  12. django+xadmin在线教育平台(十二)
  13. php中的递归查找文件夹,PHP递归遍历文件夹
  14. 文字排版不在单调!可临摹的网页UI设计模板,轻松驾驭!
  15. structs中国际化小结
  16. Studio for WPF:使用 C1TileView 创建图片库
  17. Apache - 403错误
  18. 获取网站url ico小图标
  19. 笔记本触摸屏\板使用小技巧,没有鼠标也能轻松使用电脑
  20. 设计原则SOLD之 —— 单一职责原则SRP

热门文章

  1. 小米3Android密码怎么解吗,小米手机双清、三清方法介绍,如何刷机解除开机密码锁...
  2. C语言二维数组下三角、上三角螺旋赋值并打印
  3. 如何利用开源风控系统(星云)防止撞库?
  4. Ubuntu通过fim或xdg-open在终端中打开图片
  5. 基于TypeScript + WebGL 游戏引擎 笔记
  6. 双馈网风力发电系统仿真,包含风机控制,变螺桨距控制,AC_DC_AC控制
  7. 全球与中国机器人速度传感器市场深度研究分析报告
  8. 《Producter:让产品从0到1》一第2章 设计的感觉
  9. tensorflow源码精读之graph
  10. 初探netCDF4——ECMWF学习笔记