成员属性封装
在类之中的组成就是属性和方法,一般而言方法都是对外提供服务的,所以是不会进行封装处理的,而对于属性需要较高的安全性,所以往往需要对其进行保护 这个时候就需要采用封装性对属性进行保护。
在默认情况下,对于类中的属性是可以通过其他类利用对象进行调用的。
解决办法:可以利用private关键字对属性进行封装处理。
而属性一旦封装之后外部将不能够直接访问,即对外部不可见,但是对类的内部是可见;
那么要想让外部的程序可以访问封装的属性,则在Java开发标准中提供了如下要求:
- setter getter设置或取得属性可以使用setXxx()、getXxx()方法;以private String name;为例
- 设置属性方法: public void setName(String name);
- 获取属性方法: public String getName();
class Person{
private int age;
private String name;
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void intorduce() {
System.out.println("age= "+age+" name= "+name);
}
}
public class xxx {
public static void main(String[] args) {
Person per1 = new Person();
per1.setAge(16);
per1.setName("sakura");
per1.intorduce();
}
}
>>>age= 16 name= sakura
在以后进行任何类定义得时候一定要记住,类中的所有属性都必须使用private封装(标准做法 90%),并且提供有setter和getter方法。
封装性是java面向对象的第一大主要特征 ,封装性不仅仅是一个属性封装这么简单,它跟访问权限有关。