package com.hanqi;

 //汽车
public class Car { // 车牌
private String CheP; // 油箱容量
private double YouXRL = 40; // 总里程数
private double ZongLC = 0; // 油耗
private double YouH = 10; // 当前油量
private double DangQYL = 0; public String getCheP() {
return CheP;
} public void setCheP(String cheP) {
CheP = cheP;
} public double getYouXRL() {
return YouXRL;
} public void setYouXRL(double youXRL) {
YouXRL = youXRL;
} public double getZongLC() {
return ZongLC;
} public void setZongLC(double zongLC) {
ZongLC = zongLC;
} public double getYouH() {
return YouH;
} public void setYouH(double youH) { if(youH >0)
{
YouH = youH;
}
else
{
System.out.println("油耗数据错误");
} } public double getDangQYL() {
return DangQYL;
} public void setDangQYL(double dangQYL) {
DangQYL = dangQYL;
} public Car(String cheP) {
super();
CheP = cheP;
} //方法
//加油
public void JiaYou(double youl)
{
if(youl < 0 )
{
System.out.println("不要偷我的油");
}
else if(youl > (YouXRL - DangQYL))
{
DangQYL = YouXRL; System.out.println("邮箱满了,装不下了");
}
else
{
DangQYL += youl; System.out.println("加油量 = " + youl);
}
}
//加油方法的重载,一次加满
public double JiaYou()
{
//计算
double rtn = YouXRL - DangQYL; JiaYou(rtn); //便于代码维护 return rtn;
} //行驶
public void XingShi (double licheng)
{
if(licheng < 0 )
{
System.out.println("车不能这样开");
}
else
{
//当前油量
DangQYL -= licheng * YouH /100; //总里程
ZongLC += licheng;
} } }
 package com.hanqi;

 public class Test11car {

     public static void main(String[] args) {
// TODO 自动生成的方法存根 Car car1 = new Car("鲁c12345"); car1.setYouXRL(50); System.out.println("油箱容量 = " + car1.getYouXRL() ); car1.JiaYou(40); System.out.println("当前油量 = " + car1.getDangQYL()); car1.JiaYou(); System.out.println("当前油量 = " + car1.getDangQYL() ); car1.setYouH(7); //行驶 car1.XingShi(100); System.out.println("当前油量 = "+ car1.getDangQYL());
System.out.println("总里程 = " + car1.getZongLC()); } }

学习练习 java面向对象封装汽车的更多相关文章

  1. Java面向对象㈠ -- 封装

    Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...

  2. Java学习笔记(一) 面向对象---封装

    面向对象---封装 封装是面向对象思想的三大特征之一. 理解: 隐藏对象的属性和实现细节,仅对外提供公共访问方式. 优点: 将变化隔离 便于使用 提升代码复用性 提高安全性 封装原则: 将不需要对外提 ...

  3. [ Java学习基础 ] Java的封装性与访问控制

    Java面向对象的封装性是通过对成员变量和方法进行访问控制实现的,访问控制分为4个等级:私有.默认.保护和公有,具体规则如下表: 1.私有级别 私有级别的关键字是private,私有级别的成员变量和方 ...

  4. 我的Java学习笔记-Java面向对象

    今天来学习Java的面向对象特性,由于与C#的面向对象类似,不需详细学习 一.Java继承 继承可以使用 extends 和 implements 这两个关键字来实现继承. extends:类的继承是 ...

  5. Java面向对象封装和继承

    面向对象 什么是面向过程.面向对象? 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生( ...

  6. JAVA面向对象-----封装

    我们日常使用的电脑主机,把cpu.内存.主板等等都封装到机箱里面去.假如没有机箱的话的出现什么问题,主机.主板全部都散落在一处,然后开机没有开机按钮,那么需要我们直接操作接跳线才能把电脑开启.这样子的 ...

  7. Java面向对象----封装概念

    封装 信息隐藏,隐藏对象的细节 访问修饰符 public private protected 默认 属性封装的实现 方法封装的目的(隐藏方法实现细节) package com.tanlei.newer ...

  8. Java面向对象封装优化2_构造方法

    1. 类 package cn.itcast.day06.demo05; /* 一个标准的类通常要拥有下面四个组成部分: 1. 所有的成员变量都要使用private关键字修饰 2. 为每一个成员变量编 ...

  9. 学习练习 java面向对象存取款查询余额

    package com.hanqi; public class Account { String ZhangHao; double CunKuanYuE; Account(String ZhangHa ...

随机推荐

  1. Linux下文件的压缩和解压

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  2. 1. Netty解决Tcp粘包拆包

    一. TCP粘包问题 实际发送的消息, 可能会被TCP拆分成很多数据包发送, 也可能把很多消息组合成一个数据包发送 粘包拆包发生的原因 (1) 应用程序一次写的字节大小超过socket发送缓冲区大小 ...

  3. Jedis 连接redis超时

    redis默认不允许远程连接 用vi打开Redis服务器的配置文件redis.conf ~ sudo vi /etc/redis/redis.conf #注释bind #bind 127.0.0.1 ...

  4. MyEclipse9中的不伤眼修改、FreeMarker插件、JQuery提示插件、全屏(FullScreen)插件的安装

    ============下载相关附件===================== http://files.cnblogs.com/fhtwins/eclipse-fullscreen_1.0.7.zi ...

  5. Mongodb(1)如何存储以及简介

    在学习一个数据库之前应该了解这个数据库是如何存储的,是不是适合你所需要的存储方式. 如果上来就说命令,理解起来似乎有点麻烦. 不管学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是 ...

  6. sql异常

    表结构 Id int UncheckedTitle nvarchar(50) CheckedValue nvarchar(1000) CheckedRemark nvarchar(1000) Chec ...

  7. html5 基本内容 摘自W3C

    HTML5 教程(摘录自 W3C School) HTML 5 简介(HTML5 是下一代的 HTML) 什么是 HTML5? HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标 ...

  8. iCheck表单美化插件使用方法详解(含参数、事件等)

    iCheck   特色: 1.在不同浏览器(包括ie6+)和设备上都有相同的表现 - 包括 桌面和移动设备 2.支持触摸设备 - iOS.Android.BlackBerry.Windows Phon ...

  9. git重写历史记录

    1 修改上一次历史提交,替换掉上次的提交git commit --amend 2 git rebase 将不同分支路径合并到同一分支路径上eg:将master分支上的 conflic rebase合并 ...

  10. Cordova是做什么的

    Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等. Cordova还提供了一组统一的JavaScript类库,以及为这 ...