题目:定义一个交通工具类,类中包括速度、长度、移动方法、属性的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迈后当前交通工具的速度:60Process finished with exit code 0

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

总结:

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

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

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

Java-公交车行驶(★☆☆☆☆)相关推荐

  1. 【大数据】城市公交网络分析与可视化(一):基于Python爬取公交车行驶路径等基本信息

    博客内容介绍 借助高德地图API,爬取指定公交线路(国内绝大多数线路,给定城市名和路线名即可)的始发站.终点站.行驶路径(行车轨迹).站点名称和坐标.行驶距离等与公交车有关的基本信息,并将其保存到Ex ...

  2. java 计算行驶里程,js根据经纬度换算行驶里程

    最近在做有关车辆定位及历史轨迹的项目,需要显示车辆当前位置信息.车辆历史轨迹及行驶公里数,需要这样的效果. 轨迹回放使用的百度的路书功能,包含了开始.暂定.重置功能,但是后台返回的数据只包含了坐标点, ...

  3. Java 公交车案例

    /* 需求:公交车大人2元,小孩一元,公交车经过2站第一站:3个大人1个小孩上车第二站:1个大人1个小孩上车,请问一共上了多少人,一共收入多少钱? 分析:1. 由于金额与人数都是变化的,所以我们是需要 ...

  4. 北京一公交车发生爆炸 疑为乘客携带药品起反应

    勘察人员从公交车里取出可疑爆炸物.薛珺摄 点击查看其它图片 昨日下午,一辆850路公交车行驶在阜成路时发生爆炸.5名乘客经检查均无大碍. 警方怀疑是乘客所携类似血清的药品引发化学反应所致. 事故现场在 ...

  5. 基于改进K-means聚类和隐马尔可夫链的汽车行驶工况构建

    摘 要: 汽车行驶工况的构建对于车辆能耗.排放测试,以及汽车性能指标优化有着重要意义.而欧洲NEDC工况.世界WLTC工况等为基准的行驶工况构建并不完全适用我国汽车行驶工况的构建,基于此,制定反映我国 ...

  6. Java 基础:多态

    目录 什么是多态: 多态在编程中的形式 1.父类类型做形参 2.父类类型做属性 3.父类类型做返回值 多态中的成员 什么是多态: 1.面对对象的三大特征:封装.继承.多态.从一定角度来看,封装和继承都 ...

  7. 基于WT2003H语音芯片在GPS公交车自动报站系统的应用设计方案

    基于WT2003H语音芯片在GPS公交车自动报站系统的应用设计方案 一.方案概述 随着城市化进程的加快,公共交通作为城市的基础设施之一,仍然是绝大多数出行者的首选交通方式.为使得人们特别是为外来旅游. ...

  8. ActiveReports 大数据分析报告:公交车司乘冲突引发的刑事案件

    公交车司乘冲突刑事案件总体情况 公交车司乘冲突引发的刑事案件总量稳中有升 (注:本报告界定的"公交车司乘冲突刑事案件",是指案件诱因为公交车司机与乘客在乘车过程中发生冲突而引发的刑 ...

  9. 公交车摄像头“偷拍走光”? 女乘客司机起纠纷

    昨日上午8时许,一名穿着时尚的年轻女子乘坐631路公交车时,因为怀疑司机从监视器中看到她走光的镜头,与司机发生争吵.最终,在满车乘客的劝阻下,这名女子才骂骂咧咧地下了公交车. 摄像头"偷拍& ...

  10. 百度Apollo升级发布15大新品,还要化身无人车基建狂魔 | 一文看尽首届Apollo生态大会...

    郭一璞 发自 长沙梅溪湖畔 量子位 报道 | 公众号 QbitAI 百度Apollo,今天交出了一份亮眼的成绩单. 在首届Apollo生态大会上,百度智能驾驶事业群组总经理李震宇宣布,Apollo目前 ...

最新文章

  1. 训练生成对抗网络的一些需要关注的问题
  2. Redis为什么使用单进程单线程方式也这么快
  3. Android安全研究经验谈
  4. TouTiao开源项目 分析笔记9 实现一个问答主页面
  5. swoole使用 常用案例
  6. C语言调用python代码
  7. css transtion不生效_CSS中transition属性不起作用的原因及解决方法
  8. 常量(const)和只读变量(readonly)
  9. 飞鸽传书已经写了5年,还是老样子。
  10. python 依赖包管理_依赖管理
  11. C++Function Object Adapter之not1
  12. Tiny-Event-Manager 安全轻量的资源管理器
  13. 使用seaborn制图(箱型图)
  14. “21天好习惯”第一期-6
  15. 620集成显卡和mx250,独显有必要吗?英特尔UHD620核显对比MX150性能测试
  16. 计算机网络——数据从网卡到应用的过程
  17. 诊断实验评估指标-灵敏度(sensitivity)特异度(specificity)准确度(accuracy)
  18. python openpyxl创建excel文件,自己选择excel保存的位置
  19. SDOI2019 R2退役记
  20. MacOS更新BigSur后git不可用的问题

热门文章

  1. 百度文字转语音网址直链
  2. react 嵌套iframe_React中使用iframe嵌套百度拾取坐标系统
  3. 频繁读写剪贴板导致操作失败的bug
  4. 基于ofbiz的适合中国工厂的大型制造业erp产品
  5. 电路中“地”之深究——克服电磁干扰
  6. 《数据结构》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
  7. textarea文本域设置padding会文本溢出问题
  8. JavaScript实现监控上传和下载进度
  9. Android kotlin定时器用法及说明
  10. SM5203高输入18V耐压单节锂电池线性充电芯片