您的位置:首页 > 其它

访问封装内容,setter和getter方法使用

2016-05-20 16:46 423 查看
在整个java中,对于封装的访问给出了一个明确的原则,此原则必须遵守。

否则,因为属性或者方法被封装了,访问不了,会出错。

被封装的属性如果需要被访问,则需要编写setter和getter方法完成。

例如,现在有一个属性:private string name;

Setter():public void setName(String n){};

Getter():public String getName(){};

例子:

class Person{
private String name ;// 声明姓名属性
private int age ;// 声明年龄属性
public void setName(String n){// 设置姓名
name = n ;
}
public void setAge(int a){// 设置年龄
if(a>=0&&a<=150){// 加入验证
age = a ;
}
}
public String getName(){// 取得姓名
return name ;
}
public int getAge(){// 取得年龄
return age ;
}
public void tell(){
System.out.println("姓名:" + this.getName() + ",年龄:" + this.getAge()) ;
}

};

public class EncDemo05{
public static void main(String arsgh[]){
Person per = new Person() ;// 声明并实例化对象
per.setName("张三") ;// 调用setter设置姓名
per.setAge(-30) ;// 调用setter设置年龄
per.tell() ;
// 输出信息
}

以上代码只是可以访问封装的属性,但是并没有加入到检测的措施。

如果年龄设置有问题,则不应该为属性赋值。

应该在哪个方法中加入检验呢?

。setter()中加入检验;(判断语句)

.getter()只是简单的把数据取出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: