java)变速器 java公路车怎么变速
最编程
2024-08-13 07:34:16
...
题目:定义一个交通工具类,类中包括速度、长度、移动方法、属性的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代表当前对象,是一个对象,不能应用于静态的方法之中,因为静态的方法是一种类类型的,其内部没有对象的概念
参数的传递一定要注意传递的类型,在参数传递的时候,是支持类型转换的
推荐阅读