1、private修饰符的作用
为了防止数据被意外篡改,使用private修饰符可以将数据域声明为私有的,这也称为是数据域的封装。
2、访问器(accessor)和修改器(mutator)的定义
简单点说,访问器和修改器就是类中定义的方法。
为了能够访问私有数据域,可以提供一个get方法返回数据域的值。get方法称为是访问器;
为了能更新一个数据域,可以提供一个set方法来给数据域设置新值。set方法称为是修改器。
3、private在Java中的使用
public class UserFile{
public static void main(String[] args){
/* 创建一个叫做John的对象,年龄为20岁 */
UserManagementCenter John = new UserManagementCenter(20);
/* 使用修改器方法来设置John的用户ID */
John.setUserID(12345);
/** 使用访问器方法来查看John的用户ID */
System.out.print(John.getUserID());
}
}
class UserManagementCenter{
private long userID;
int userAge;
static int userCount = 0;
public UserManagementCenter(){
userCount++;
userAge = 0;
}
public UserManagementCenter(int age){
userAge = age;
userCount++;
}
/** 设置用户的ID账号 */
public void setUserID(long newID){
userID = newID;
}
/** 访问Jone的用户ID */
public long getUserID(){
return userID;
}
}
这个程序输出的是Jone的用户ID‘12345’,使用private来修饰的变量只能在定义这个变量的类中被直接调用,而在类外直接调用private的变量Java编译器会提示出错。
这句话也说明了,如果在主类中定义一个private的变量那么在主函数main()是可以通过创建对象直接修改和访问的,见如下程序
/** private的数据可以在定义private的类中被方法访问 */
public class UserFile {
private long id;
public static void main(String[] args){
/** 创建一个叫做dopa的对象,年龄为20岁 */
UserFile dopa = new UserFile(20);
dopa.id = 12345;
System.out.print(dopa.id);
}
}
程序输出为‘12345’