本文参考了并总结了封装的原因与方法,原文链接:https://blog.csdn.net/mrbacker/article/details/79715859
面向对象中有三大特征:封装,继承和多态。
封装的目的就是为了防止数据类型的业务逻辑错误,例如public int age可能被赋值为-20.为了让内部的操作看不见可以使用private来实现封装。但是使用了private声明之后属性安全,但是现在没有办法进行private私有属性的访问,所以按照java的设计原则就可以使用setter和getter方法。
setter方法:主要用于进行属性内容的设置
private String name:public void setName(String n)
getter方法:主要用于属性内容的取得
private String name:public String getName()
同时在此时要进行相关数据的合法性检测,就可以进入setter方法中完成。
public class Student {
//属性私有
//封装
private String name;
private int id;
private char sex;
private int age;
//提供一下可以操作这个属性的方法
//Alt+Insert快速生成
public int getAge() {
return age;
}
public void setAge(int age) {
if (age>120||age<0){
System.out.println("输入年龄不合法,请重新输入");
}else {
this.age = age;
}
}
public String getName() {
return this.name;
}
public void setName(String name){
this.name=name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
}