面向对象三大特征:封装、继承、多态
先封装,才继承,后多态
在类当中属性对外暴露,可以在外部程序中随意访问,导致了不安全,代码需要进行包装,私有化。
访问修饰符的可访问性:
访问范围 private friendly(默认) protected public 同一个类 可 可 可 可 同一包中的其它类 不 可 可 可 不同包中的子类 不 不 可 可 不同包中的非子类 不 不 不 可 **private:**最高的保护级别
**friendly:**如果一个类当 中没有访问修饰符,说明它具备默认访问控制的特性。
**protected:**使用protected的主要作用是允许其他包中的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
**public:**当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。类中被设定为 public 的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,实际就是数据封装思想的体现。每个 Java 程序的主类都必须是 public 类,也是基于相同的原因。
作用
1、保证内部结构的安全。
2、屏蔽复杂,暴露简单。
封装代码的实现在代码级别上,一个类体的数据封装后,对于调用者来说,不用担心代码的复杂实现,只需通过简单的入口访问即可。另外,类体中安全级别较高的数据进行封装,对于外部人员不能随意访问,保证了数据的安全性。
第一步:属性私有化(private修饰符)。
第二步:一个属性对外提供两个方法:get和set方法;外部只能通过set方法修改,通过get方法读取。
注意:
set和get方法都是实例方法,不能带static;
不带static的方法称为实例方法,实例方法必须先new对象。
set和get方法的语法,严格规范书写
小结public void set+属性名首字母大写(1个参数){
xxx = 1个参数;
}public 返回值类型 get+属性名首字母大写(无参){
return xxx;
}
get方法得到数据,set方法修改数据,只有通过get和set方法才能访问私有化的属性,通过在set方法中进行属性的设置,调用get和set方法首先需要new对象;



