面向对象的三大基本特征
- 封装(Encapsulation)
- 继承(Inheritance)
- 多态(Polymorphism)
封装
所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。
访问控制
封装提供了一个重要属性:访问控制(access control)。通过封装你可以控制程序的哪一部分可以访问类的成员。通过控制访问,可以阻止对象的滥用;
一个成员如何被访问取决于修改它的声明的访问指示符。Java提供一套丰富的访问指示符; Java的访问指示符有public(公共的,全局的)、private(私有的,局部的)、和protected(受保护的)。Java也定义了一个默认访问级别default;
- 当一个类成员被public指示符修饰时,该成员可以被你的程序中的任何其他代码访问。
- 当一个类成员被指定为private时,该成员只能被它的类中的其他成员访问。
- 如果不使用访问指示符,该类成员的默认访问设置为在它自己的包内为public,但是在它的包以外不能被存取;
对于成员变量和方法的作用域,public,protected,private