java的封装性简单说就是用private修饰使之只能在本类中使用。
举个例子,现实生活中学生可以查询成绩,老师可以修改成绩。显然在这个现象映射
到程序中"学生"是对象,学生具有属性“成绩”,且用private修饰,那么在外界创建一个
学生对象时不能直接用 学生.成绩体现出来,此时学生的信息相对外界是封闭的,就需
要一把钥匙即getter与setter方法来得到信息。虽然学生内部有get与set方法,但是在外
界创建学生对象时只展现其get的方法(这里在代码处解释),如此继续老师这个类中含
有set方法。(本次重点在最后代码)
public class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public int getScore() {
System.out.println("成绩" + score);
}
public void setScore(int score) {
this.score = score;
}
}
public class Teacher {
public void setScore(Student student, int score) {修改学生的成绩,这里
是老师与学生对象间的交涉
student.setScore(score);
}
}
public class Main{
public static void main(String args[]){
Student stu = new Student("我",100);
Teacher tea = new Teacher();
stu.getScore;//对用户而言界面仅仅显示getScore这个方法,而如果不用private修饰,用户直接
stu.Score这样出来,虽然看着没事,但实际我在操作stu.Score得到成绩发现点一下成绩光标在动,
哎,直接改掉。显然这样不行.
tea.setScore(stu,90);
System.out.println(stu.getScore)
标签:封装,int,private,stu,score,Student,java,public
From: https://blog.csdn.net/xiadengmabuzhiyu/article/details/137569390