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

来源:互联网 发布:java编程思想 猎豹 编辑:程序博客网 时间:2024/05/17 07:01

在整个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()只是简单的把数据取出。

0 0