private关键字
private关键字作用
1.是一个权限修饰符
2.可以修饰成员(成员变量和成员方法)
3.作用是保护成员不被其他类使用,被private修饰的成员只在本类中才能访问
针对private修饰的成员变量,若干个需要被其他类使用,提供相应的操作
1.提供“ get变量名() ”方法,用于获得成员变量的值, 方法用public修饰
2.提供“ set变量名(参数) ”方法, 用于设置成员变量的值, 方法用public修饰
实例演示
这是没用private关键词的对象和测试类
public class Student {
String name;
int age;
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
public class StudentCase {
public static void main(String[] args) {
Student s = new Student();
s.name = "小明";
s.age = 20;
System.out.println("该学生为" + s.name + s.age);
s.study();
s.doHomeword();
}
}
执行结果
这时候,当我们在对象代码增加private关键词之后
public class Student {
String name;
private int age;
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
测试类的代码竟然出现了错误
这是因为private限制了访问,使得成员变量age不被其他类使用,被private修饰的成员只在本类中才能访问
因此我们可以用“ get变量名() ”方法和“ set变量名(参数) ”方法
因此在对象代码中增加getAge() 和 setAge(int a) 的方法
public class Student {
String name;
private int age;
public void setAge(int a){
age = a;
}
public int getAge(){
return age;
}
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
因此在测试类中只需要调用这两个方法即可对对象的age进行操作
public class StudentCase {
public static void main(String[] args) {
Student s = new Student();
s.name = "小明";
s.setAge(30);
System.out.println("该学生为" + s.name + s.getAge());
s.study();
s.doHomeword();
}
}
欸,这和不用private关键词的时候不是一样的吗?有啥区别?有啥意义?
对,目前是一样的。但是通过private关键词,我可以直接在对象代码中对输入的年龄进行判断,从而判断输入的年龄是否合法。
public class Student {
String name;
private int age;
public void setAge(int a){
if (a < 0) System.out.println("年龄输入有误");
else age = a;
}
public int getAge(){
return age;
}
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
当我给年龄赋值为-30的时候
public class StudentCase {
public static void main(String[] args) {
Student s = new Student();
s.name = "小明";
s.setAge(-30);
s.study();
s.doHomeword();
}
}
这就可以在对象代码中进行限制
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95060.html