封装可以
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.程序可维护性增加了
封装主要对于属性的私有
用private来实现属性的私有
私有的属性无法被子类继承
提供了一些可以操作私有属性的方法
get 获得这个数据 set 给这个数据设置值
修饰符实现封装
private 同一个类
default 同一个类+同一个包
protected 同一个类+同一个包+子类(子类可以不在一个包里)
public 同一个类+同一个包+子类+所有类
类的属性的处理
1.一般使用private访问权限
2.提供相应的get/set方法来访问相关属性,这些方法通常是public修饰,以提供对属性的赋值与读取操作
3.一下只用于本类的辅助方法可以用private修饰,希望其他类调用的方法用public修饰
4.对于方法,自己公司用的public就行,要共享的要注意封装
主方法类
public class Application {
public static void main(String[] args) {
Student s1=new Student();
s1.setName("abc");
System.out.print(s1.getName());
s1.setAge(999);//不合法
System.out.println(s1.getAge());
}
}
Student类
public class Student {
//封装主要对于属性
//属性私有
private String name;//名字 私有化后无法直接调用
private int id;//学号
private char sex;//性别
private int age;
//学习()
//睡觉()
//提供一些可以操作这个属性的方法
//提供一些public 的get、set方法
//get 获得这个数据
public String getName() {
return this.name;
}
//set 给这个数据设置值
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age>0&&age<120){
this.age = age;
}
else {
this.age=3;
}
}
}
对于布尔类型的变量,get函数变为了is函数
如 public void isMan(){}