您的位置:首页 > 其它

Lesson_6_2 上课笔记 ----一条鱼

2013-01-16 22:11 302 查看
Lesson_6_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 + "正在水里面游泳···");
}
}
}


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: