Java—面向对象—权限修饰符及思维导图
课上老师所讲实例整理:
package org.hanqi.pn0120; //汽车
public class Car { //颜色
private String yanse;
//品牌
private String pinpai;
//油箱容量
private double youxiangrl = 40;
//当前油量
private double dangqianrl; public double getDangqianrl()
{
return this.dangqianrl;
}
//加油
public void jiayou(double youliang)
{
if(youliang<0)
{
System.out.println("不要偷油");
}
else if(this.dangqianrl+youliang>this.youxiangrl)
{
//本次加油量
double bcyl = this.youxiangrl-this.dangqianrl;
this.dangqianrl=this.youxiangrl;
System.out.println("油太多了,已经加满了,这次加了"+bcyl+"升油");
}
else
{
this.dangqianrl+=youliang;
System.out.println("这次加了 "+youliang+"升油");
}
}
//private double youhao
private double xingshizlc = 0;
public double getXingshizlc()
{
return this.xingshizlc;
}
//行驶
public void xingshi(double xingshilc,double youhao)
{
//判断车本身有没有油
if(this.dangqianrl <=0)
{
System.out.println("车没有油,怎么开车");
return;
}
if(xingshilc < 0 || youhao < 0)
{
System.out.println("不可能这么开车");
}
else
{
//油耗
double dangqyh = xingshilc * youhao / 100;
this.dangqianrl -= dangqyh;
//验证当前油量
//this.dangqianrl = this.dangqianrl > 0 ?this.dangqianrl : 0;
if(this.dangqianrl<0)
{
this.dangqianrl=0;
System.out.println("你是推着车走么");
}
this.xingshizlc += xingshilc;
System.out.println("本次行驶了 "+xingshilc+" 公里");
}
} public String getYanse() {
return yanse;
}
public void setYanse(String yanse) {
this.yanse = yanse;
}
public String getPinpai() {
return pinpai;
}
public void setPinpai(String pinpai) {
this.pinpai = pinpai;
}
public double getYouxiangrl() {
return youxiangrl;
}
public void setYouxiangrl(double youxiangrl) {
this.youxiangrl = youxiangrl;
} public void setDangqianrl(double dangqianrl) {
this.dangqianrl = dangqianrl;
}
public Car(String pinpai, double youxiangrl) {
super();
this.pinpai = pinpai;
this.youxiangrl = youxiangrl;
} //main方法
public static void main(String[]args)
{
Car myBenchi = new Car("奔驰",50);
System.out.println("品牌="+myBenchi.getPinpai());
System.out.println("油箱容量="+myBenchi.getYouxiangrl());
myBenchi.xingshi(200, 13);
myBenchi.jiayou(30);
myBenchi.jiayou(30);
System.out.println("当前容量="+myBenchi.dangqianrl);
myBenchi.xingshi(300, 15);
System.out.println("当前容量="+myBenchi.dangqianrl);
System.out.println("当前总里程="+myBenchi.getXingshizlc());
myBenchi.xingshi(200, 13);
System.out.println("当前总里程="+myBenchi.getXingshizlc());
System.out.println("当前容量="+myBenchi.dangqianrl);
}
}
运行结果为:

思维导图:

Java—面向对象—权限修饰符及思维导图的更多相关文章
- java访问权限修饰符,一张图搞清楚
可横向,纵向进行比较记忆
- 关于Java的权限修饰符(public,private,protected,默认friendly)
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...
- java访问权限修饰符
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...
- 对于Java中权限修饰符的理解
老是把Java中权限修饰符给忘记,写一个博客加深印象吧 权限分为四个作用域:当前类,同一个包,其他包的子类,其他包的类. 首先要知道包的概念,Java中一个包是指一个package下的所有文件. pr ...
- [原创]Java性能优化权威指南读书思维导图
[原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt Binu John 译者: 柳飞 ...
- [原创]Java性能优化权威指南读书思维导图4
[原创]Java性能优化权威指南读书思维导图4
- [原创]Java性能优化权威指南读书思维导图3
[原创]Java性能优化权威指南读书思维导图3
- [原创]Java性能优化权威指南读书思维导图2
[原创]Java性能优化权威指南读书思维导图2
- java中权限修饰符protected的使用注意事项
java中四种权限修饰符, 平时编码中最常用的其实public和private, 虽然对protected的概念一直都知道, 但真正使用时才发现有些偏差. protected表示被其修饰的成员可以被本 ...
随机推荐
- matlab 画框(一)
matlab进行图像处理之后,很多时候需要在图像上画出矩形框:如,调用matlab的某个检测函数,得到结果之后,往往需要将检测结果的矩形框画在图像上,直观.方便的进行查看:下面的代码就是这个目的: f ...
- matlab调用opencv函数的配置
环境: VS2010 活动解决方案平台x64 WIN 8.1 Opencv 2.4.3 Matlab 2012a 1. 首先保证vs2010能正确调用opencv函数, 2. Matlab中选择编 ...
- [C/C++]C++标准
本文若如特别说明都引于ISO/IEC 14882:2011 7.声明(Declarations) 声明序列(declaration-seq): 声明(declaration) 声明序列(d ...
- Centos使用key登录验证
1. 新建用户lsyw 设置密码 #useradd lsyw #passwd lsyw 2. 测试新建用户可以登录 3. 修改root登录密码为通用root密码,测试用新密码登录是否成功 0!B2pj ...
- self.view 的不当操作造成死循环
如题,在创建ContentView的时候,例子如下 NSString *viewClassName = NSStringFromClass([self class]); viewClassName = ...
- String性能优化
String 使用的优化建议 其他 String 使用的优化建议 以上我们描述了在我们的大量文本分析案例中调用 String 的 subString方法导致内存消耗的问题,下面再列举一些其他将导致内存 ...
- 框架设计——MVC IOC
主要概念: 注:以下概念是自我理解,不是很准确. IOC:Inversion of Control(控制反转). 本来对象创建是通过使用类内部进行创建,现在把对象创建交给container(容器)管理 ...
- PAT 07-2 A+B和C
有两个值得注意的地方:1.变长数组(VLA)的使用,没想到PAT上的OJ竟然支持C99,一开始不知道就没用,看了看别人的,既然,还是用吧, 它有一点我不太喜欢,它不能像一般数组那样在声明时通过赋一个0 ...
- (转)IOS之Info.plist文件简介
原文:IOS之Info.plist文件简介 http://www.apkbus.com/android-130240-1-1.html (出处: Android开发论坛 - 安卓开发论坛 - Andr ...
- atomic和nonatomic的区别
1.使用atomic进行修饰的属性,在实现文件中不能重写setter方法和getter方法,不然在编译过程会发生报错. 1.使用nonatomic进行修饰的属性,在实现文件中可以重写setter方法和 ...