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

案例介绍:

请设计一个汽车类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类放在{}里面,将它作为一个内部类。

我们可以通过以下代码更好地理解:
在这里插入图片描述

  • 13
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值