Lesson_6_2 上课笔记 ----一条鱼
2013-01-16 22:11
302 查看
Lesson_6_2
2013-01-16
面向对象基础(2)----封装
运行结果
2013-01-16
面向对象基础(2)----封装
/*********************************************************** * Lesson_6_2 * * 面向对象基础(2)--封装 * 一条鱼 * * 13-01-16 * note by CocoonFan ************************************************************ ************************************************************ * * 一、面向对象优点 * 1、便于程序模拟现实世界中的实体(类实现) * 2、隐藏细节 * 对象的行为和属性被封装在类的里面,外界不需要关注内部 * 的实现细节。 * 3、可重用:通过类的模板,创建多个类的对象 * * 二、成员运算符 * 对象名.成员名 * * 三、访问权限public和private * 一般成员变量为 private, 方法为 public * * 四、访问私有程艳变量 * 1、在类的里面定义一个公有的方法去访问私有的成员 * 2、通过构造方法设置 * * 五、类的实例化 * 六、构造方法(2) -- 给属性初始化 * 七、this指针 -- this指向调用它对象 * 1、每一个成员方法都隐含的调用this * ************************************************************/ public class Lesson_6_2{ public static void main(String []args){ Fish fish = new Fish();//这里实例化对象 fish.setSex("鱼妖"); System.out.println("鱼的性别是:" + fish.getSex()); fish.setSex("女"); System.out.println("鱼的性别是:" + fish.getSex()); fish.setKind("美人鱼"); fish.swimming(); System.out.println("鱼的重量是:" + fish.getWeight()); //当有多个变量要初始化的时候常采用构造方法初始化 Fish whale = new Fish("女","座头鲸", 10000.0f); System.out.println("鱼的类型是:" + whale.getKind()); System.out.println("鱼的性别是:" + whale.getSex()); System.out.println("鱼的重量是:" + whale.getWeight()); whale.swimming(); //匿名对象 //下面两个对象是两个不同的对象 new Fish(); new Fish(); } } class Fish{ private String sex = "不知道"; //这里也可以设置初始值 private String kind; //不赋值默认为null private float weight = 0.1f; /*构造方法: 1、如果没有写构造方法,JVM会自动的创建一个没有参数的空的构造方法即: public Fish(){} 2、如果定义了带有参数的构造方法,则JVM不会创建空的不带参数的构造方法 3、如果有多个构造方法,遵循参数匹配原则 4、每个对象在创建的时候一定会调用构造方法,其作用是在内存中划分一块空间 5、每个对象的构造方法只能被调用一次 */ public Fish(){ this.sex = "鱼妖你妹"; } public Fish(String sex, String kind, float weight){ this.sex = sex; this.kind = kind; this.weight = weight; } //注意get和set的命名规范 "java bean" //设置鱼的性别 public void setSex(String sex){ if(!sex.equals("男") && !sex.equals("女")){ System.out.println("设置性别错误,只能是男或者女"); }else{ this.sex = sex; } } //获取鱼的性别 public String getSex(){ /*if(sex.equals("男") || sex.equals("女")){ return sex; }else{ return "还没有设置鱼的性别呢!!"; }*/ return sex; } //设置鱼的种类 public void setKind(String kind){ this.kind = kind; } //获取鱼的种类 public String getKind(){ return kind; } //设置鱼的重量 public void setWeight(float weight){ if(weight < 0){ System.out.println("书籍错误:范围在0~N"); }else{ this.weight = weight; } } //获取鱼的重量 public float getWeight(){ return weight; } //鱼在游泳 public void swimming(){//设置过名字就显示名字 if(this.kind.equals(null)){ System.out.println("鱼正在水里面游泳···"); }else{ System.out.println(this.kind + "正在水里面游泳···"); } } }
运行结果
相关文章推荐
- Lesson_7 上课笔记_2 ---- 方法重载
- Lesson_4 上课笔记
- Lesson_8 上课笔记 ----继承
- Lesson_5 上课笔记
- Lesson_6_1 上课笔记 -- 张三和法拉利
- Lesson_3 上课笔记
- Lesson_2 上课笔记
- Lesson_9 上课笔记 -- 多态
- Lesson_1 上课笔记
- Lesson_7 上课笔记_1 ----static关键字和导包
- (未完成)上课笔记--线性代数(初等矩阵)(全)
- (未完成)上课笔记--金融学(二)
- 复旦情商课魅力女教师上课实录笔记
- udacity android 学习笔记: lesson 4 part a
- Java SE 学习笔记--Lesson 02
- Java SE 学习笔记--Lesson 05
- C语言学习笔记 lesson7 常量
- 上课笔记--概率论与数理统计(全)
- 孙鑫VC++视频教程笔记之---Lesson 7 对话框
- 【前端笔记】在HTML中画一条横线和IE10支持引用的CSS文件