JAVA面向对象的三大特征:封装,继承,多态。
1.封装
(1)封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现的细节,仅通过公开的接口和对象交互。
封装使类成为一个具有内部属性的有隐藏功能的代码模块。
通俗的理解就是将类内部的一些属性和方法隐藏起来,屏蔽细节。
(2)JAVA中通过类和访问权限来实现封装:类可以将数据和封装数据的方法结合在一起,访问权限就是用来控制方法或者属性能否在类外使用。
所以权限访问就是封装的关键,JAVA中提供了四种权限访问限定符:private,public,default,protected。
private:只能在同一包中的同一类中使用,将属性和方法设为私有,阻止类外随意修改。
public:通常用来修饰公共属性和方法,让使用者能了解最基本的信息。
default:能在同一包的同一类和同一包不同类中使用。
protected:不仅能在同一个包中使用,还能在不同包子类中使用,protected 在继承中使用,所以在封装中不多赘述。
下面通过代码演示可以更直观:
public class Test1 { //这是一个类
private int a = 10;//被private修饰的变量
public int a2 = 20;//public修饰的变量
Ststem.out.printlf(a+a2);//同一类中两者都可以调用
}
class Test2 { //另一个类
public static void main(String[] args) {
Test1 s = new Test1();//实例化对象
System.out.println(s.a);//private修饰的变量不能在别的类中使用,否则编译报错
Syste