安全隐患问题 :属性赋值,值有可能出现符合类型范围要求但是不符合业务要求的数据(也就是某些值只有自己能使用,别人不能用的使用,我们要把值进行私有化修饰)
private: 私有的
作用:被private关键字修饰的内容只能在本类中使用,其他类中无法使用
访问:私有属性需要配合提供一对公共的访问方式--> 方法,因为在方法中可以做逻辑判断
1、设置器 setter : 为私有属性设置值
2、访问器 getter : 获取私有属性
注意: 定义实体类时属性都需要私有化,并且提供一对公共的访问方式
封装 : 隐藏内部的实现细节,对外提供公共的访问方式
优点 :一是提高程序的安全性;二是提高代码的复用性
私有是封装,封装是私有?(私有是封装 √;封装是私有 ×)
方法,类,属性的私有化... 都是封装的体现
public class Class001_Private {
public static void main(String[] args) {
Student s = new Student();
s.setName("杨聪");
//s.age = -18;
s.setAge(28);
s.show();
System.out.println(s.getAge());
}
}
class Student{
private String name;
private int age;
//设置器 : 为age设置值
public void setAge(int age){
if(age<0 || age>40){
System.out.println(age+"年龄不合法");
return;
}
this.age = age;
}
//访问器 : 获取age的值
public int getAge(){
return this.age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public Student(){}
public void show(){
System.out.println(name+"--->"+age);
}
}