概述
将类的的某些信息隐藏在类内部,不允许外部程序直接访问
通过该类提供的方法来隐藏信息的操作和访问
隐藏对象的信息
留出访问的接口
封装的代码实现
修改属性的可见性(属性设为private只有类内是可见的)
创建get/set方法(设为公有的public)
在get和set方法中加入属性的控制语句(对属性的合法性进行判断)
使用module模块进行管理
更强层次的封装
需要导出相应的文件,别人在引入该模块时才能访问,未导入的不能访问
static(静态信息)
static加载属性前静态属性、类属性
用static修饰的成员是静态成员,也叫类成员(无论实例化多少对象,static属性是同一块内存空间)
静态属性在类被加载的时候被创建,直到类不再有对象被使用时才释放
因为静态成员对同一个类而言是唯一的,所以可以通过类名.属性访问
static加在方法前,静态方法、类方法
static不可以加在类前面,static不可以加在成员方法中
<b><font color="#f15a23" style="">在方法中可以调用类中的静态属性,在静态方法中不可以调用普通变量,可以直接调用静态成员</font></b>
如果非要调用非静态变量,可以在静态方法中实例化一个对象通过对象.非静态变量调用(还是不是调用的本类中的方法哦)
代码块
普通代码块 : 方法中的代码加上{}
构造代码块:直接在类中写代码加上{}
<b><font color="#f15a23">在对象被创建的时候调用:优先于构造方法</font></b>
静态代码块:在构造代码块之前加上static
<b><font color="#f15a23">类加载时调用,优先于构造代码块</font></b>
<b><font color="#f15a23">在虚拟机加载资源时优先执行</font></b>
代码块是在原来的位置划分了一个小的作用范围就像<b><font color="#f15a23">方法对类</font></b>一样,所以代码块中定义的变量也是局部变量(<b><font color="#f15a23">代码快中有用</font></b>)