目录
二、get()/set()方法【getXxx()和setXxx()]
课前先导
前面我们学习了怎么通过创建对象给对象的属性赋值;但是通过对象直接给属性赋值,只要数据类型正确,可以给属性赋任何值,这种赋值方法是不严谨的,比如给年龄个负数:
创建一个类;定义姓名和年龄属性以及show()方法:
public class Draft {
String name;
int age;
public void show(){
System.out.println("姓名是:"+name+",年龄:"+age);
}
}
创建测试类:
public class DraftTest {
public static void main(String[] args){
Draft zs = new Draft(); //创建第一个对象
zs.name = "张三";
zs.age = 20;
zs.show();
Draft ls = new Draft(); //创建第二个对象
ls.name = "李四";
ls.age = -30;
ls.show();
}
}
控制台输出:
姓名是:张三,年龄:20
姓名是:李四,年龄:-30
通过上面的代码我们可以看到,普通的通过对象给属性赋值,不太严谨,只要数据类型正确,就能随意给属性赋值;可年龄怎么能给负数呢!难道现在都能借贷生命了吗?所以我们要给数据的输入定个规范。
一、private权限修饰符
Java中的权限修饰符一共有四个;分别是:
public 、protected 、默认 、private;
这里我们看一下private权限修饰符:
英文单词 private:私有的,自用的。
private权限修饰符是Java权限修饰符中权限最小的修饰符,可以修饰成员变量和成员方法,使用 private 修饰的 成员 只能在 当前类的内部 被访问(只要成员变量或成员方法被private修饰了,那么就只能在这一个类中使用)。
作用:
保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。
public class Draft {
private String name;
private int age;
public void show(){
System.out.println("姓名是:"+name+",年龄:"+age);
}
}
public class DraftTest {
public static void main(String[] args){
Draft zs = new Draft(); //创建第一个对象
zs.name = "张三";
zs.age = 20;
zs.show();
Draft ls = new Draft(); //创建第二个对象
ls.name = "李四";
ls.age = -30;
ls.show();
}
}
这里我们在把属性用private修饰后;再来看一下运行结果(这里用的开发工具是myeclipse):
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The field Draft.name is not visible
The field Draft.age is not visible
The field Draft.name is not visible
The field Draft.age is not visible
at com.lj.java01.DraftTest.main(DraftTest.java:7)
运行结果是我们的程序报错了。上面测试类中我们通过对象给属性赋了四次值,运行结果就给了我们四个"The field Draft.age is not visible";这句英文的意思大概是:这个Draft.age不能访问。不能访问就不能随意修改属性的值,这样一来我们的代码安全性就大大提高了,只要提升了代码的安全性,就算提升了我们代码的档次,月薪上万指日可待。