Java-公交车行驶(★☆☆☆☆)

题目:定义一个交通工具类,类中包括速度、长度、移动方法、属性的get和set方法,速度的加减方法等。然后在测试类test中的main方法中实例化一个交通工具对象,通过方法初始化speed和size属性的值并打印出来,调用加速和减速的方法对工具的行驶速度进行改变。

题目分析:

首先很明显可以看出,程序一共有两个类,一个交通工具类,一个测试类

交通工具类:speed、size、move()、getXXX()、setXXX()、有参和无参的构造方法、加速的方法和减速的方法,因为加速和减速需要有一个变量来表示速度改变多少,所以这两个方法要带参数。

回顾:类对象实例变量的初始化操作是在执行构造方法的时候完成的

测试类:创建工具类对象,在创建对象的时候,通过传参,借助工具类中有参的构造方法对那些属性完成初始化操作。之后对象合理的调用加速和减速方法,因为加速和减速需要一个差值,所以需要给两个方法传递参数,对对象的speed属性进行改变,然后正确的获取到速度属性的值并进行输出。

代码如下:

工具类Vehicle:

package run;

public class Vehicle {
    private int speed;
    private int size;

    public Vehicle() {
        
    }

    public Vehicle(int speed, int size) {
        this.speed = speed;
        this.size = size;
    }

    public void move(){
        System.out.println("车车在移动");
    }

    public void speedUp(int speed){
        this.speed+=speed;
    }

    public void speedDown(int speed){
        this.speed-=speed;
    }
    public int getSpeed() {
        return speed;
    }

    public void setSpeed(int speed) {
        this.speed = speed;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }
}

 测试类:

package run;

public class test {
    public static void main(String[] args) {
        Vehicle vehicle=new Vehicle(60,150);
        System.out.println(vehicle.getSpeed()+"+"+vehicle.getSize());
        vehicle.speedUp(20);
        System.out.println("当前交通工具的速度:"+vehicle.getSpeed());
        vehicle.speedDown(20);
        System.out.println("当前交通工具的速度:"+vehicle.getSpeed());
    }
}

当然,在speedUp和speedDown中写成如下代码也是可以的,,看你喜欢

    public void speedUp(int speed){
//        this.speed+=speed;
        this.setSpeed(this.getSpeed()+speed);
    }

    public void speedDown(int speed){
//        this.speed-=speed;
        this.setSpeed(this.getSpeed()-speed);
    }

 输出结果如下:

车车在移动
初速度:60+汽车长:150
加速20迈后当前交通工具的速度:80
减速20迈后当前交通工具的速度:60

Process finished with exit code 0

对上述代码的内存情况进行分析,程序简单,内存图也容易理解

总结:

类实例变量的初始化操作是在调用构造方法的时候进行的

this代表当前对象,是一个对象,不能应用于静态的方法之中,因为静态的方法是一种类类型的,其内部没有对象的概念

参数的传递一定要注意传递的类型,在参数传递的时候,是支持类型转换的 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值