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. 216. Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  2. 【MySQL】binlog缓存的问题和性能

    之前在没有备库的情况下,遇到过more than 'max_binlog_cache_size' bytes of storage 的错误,今天在主备复制的时候又遇到了这个问题 Last_SQL_Er ...

  3. activiti自定义流程之整合(一):整体环境配置

    结合之前所说的自定义流程的思路,分别是后台.前台.整合,之前的内容也分别进行了相关的练习和尝试,现在就该到了最后的整合了,依旧是以实现功能为目的,细节暂且不去管他. 因为我们实际项目后端用的是spri ...

  4. 原生js 用正则实现removeclass hasclass getsclass addclass .

    function getByClass(oParent,sClass){ if(oParent.getElementsByClassName){ return oParent.getElementsB ...

  5. 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  6. rand srand

    题外:先定义一个指针变量int *a; 再将整数b的地址赋给指针变量 a=&b ;    谨记指针变量a只是地址 *a相当于整数 之后*a 就可以表示 指向b了 也可以在定义的时候初始化 in ...

  7. 在win7电脑中如何查看运行进程的PID标识符

    在介绍技巧方法之前,咱们还是先来介绍一下什么是PID标识符,这个PID标识符就是系统对运行中的程序自动分配的一个编号,是用来识别对应进程的,而且这个编号也是一一对应,不会有重复的,只有当系统结束运行的 ...

  8. CentOS 防火墙打开和关闭端口(转载)

    From:http://jianzhong5137.blog.163.com/blog/static/982904920126202313376/ http://soft.chinabyte.com/ ...

  9. Android之BroadcastReceiver1

    1.触发发送广播 public class MainActivity extends Activity { private Button sendButton; @Override protected ...

  10. ruby 字符串学习笔记3

    ascii转字符或者字符串转ascii "a".ord # => 97 "!".ord # => 33 "\n".ord # = ...