您的位置:首页 > 编程语言 > Java开发

JAVA-封装

2016-05-14 12:11 337 查看
1、什么是封装?

顾名思义,封装就是装起来,圈起来的意思,用于类与对象中来讲,就是在一个类中把对象拥有的属性和隐藏信息(条件)进行封装,不允许外部程序直接访问,而必须要通过该类提供的方法来实现对隐藏信息的操作和访问

2、为什么要用封装?

封装后,类就是独立的,有效避免了外部错误对此对像的影响,并且能对于对象使用者由于大意产生的错误操作起到预防作用

封装的好处,就是隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便加入存取控制语句,限制不合理操作

减少对象之间的关联性,以降低它们之间的复杂度和依赖性

3、如何使用封装

把类的成员变量权限改为private,进行私有化控制,别的类,不能访问

默认不写的话,就是public 公共的。将public 改为private的话,别的类就不能访问该类的成员变量了

public class FengZhuang {
//将成员变量私有化,封装
private String name;
private int age;
private String sex;
}


实例代码如下:

package com.liu.u6.copy1;
/*
* 封装的使用
*/
public class FengZhuang {
//将成员变量私有化,封装
private String name;
private int age;
private String sex;
//创建带返回值类型为String的方法
public String getName(){
return name;//get到的是set的那个name
}
//不带返回值的 但带参的构造方法
public void setName(String name){
this.name=name;
}

public int getAge(){
return age;
}
/******此时属性仍然没有限制作用,需要进一步利用条件判断语句进行限制*************/
/*public void setAge(int age){
this.age=age;
}*/
public void setAge(int age){
if(age>0 && age<150){
this.age=age;
}else{
System.out.println("年龄有误!");
}

}

public String getSex(){
return sex;
}

/******此时属性仍然没有限制作用,需要进一步利用条件判断语句进行限制*************/
/*
*
public void setSex(String sex){
this.sex=sex;
}
*/
public void setSex(String sex){
if(sex.equals("男")|| sex.equals("女")){
this.sex=sex;
}else{
System.out.println("性别不合法!");
}

}
//构造方法 无参
public  FengZhuang(){
this.name="无名氏";
this.age=20;
this.sex="男";
}

//构造方法 有参
public FengZhuang(String name,int age,String sex){
this.name=name;
this.age=age;
this.sex=sex;
}

//方法 :自我介绍
public void say(){
System.out.println("自我介绍一下\r\n姓名:"+this.name+"\r\n性别:"+this.age+"\r\n年龄:"+this.age+"岁");
}

}


调用类:

只能通过方法来赋值,所以你可以看得出来,上面的类中get方法,是用不着的。可以省略不写,需要用时候再写

package com.liu.u6.copy1;

public class TestFengZhuang {
public static void main(String[] args) {
FengZhuang f=new FengZhuang();

//调FengZhuang类中的set方法,,这set方法中都定义了参数,而且把参数值赋给了成员变量
f.setName("韩国");
f.setAge(20);
f.setSex("中性");

f.say();
}
}


结果输出:

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