在面向对象程序设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装,隐藏起来的方法.
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.
要访问该类的代码和数据,必须通过严格的接口控制.
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段.
适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性.
封装的优点:
>1. 良好的封装能够减少耦合.
>2. 类内部的结构可以自由修改.
>3. 可以对成员变量进行更精确的控制.
>4. 隐藏信息,实现细节.
构造方法 (构造器)
方法名与类名相同,方法体没有返回值但是在方法声明的时候却不需要使用void修饰的方法,我们称之为构造方法.
访问修饰符 方法名为类名 ( ) { ///方法体 }
没有参数为无参构造方法,有参数为有参构造方法;
代码中没有编写过构造方法,jvm在执行对象初识化的时候帮助程序追加无参构造方法;
当一个类中 存在有参构造方法,没有编写无参构造方法的时候,jvm不会追加无参构造方法;
所以,建议在任何时候,记得自己手写一个无参的构造方法;
构造代码块
花括号包裹起来的代码,我们称之为代码块或代码段,
只有一对花括号包裹起来的代码,我们称之为构造代码块,
构造代码块与构造方法一样,都是在类被实例化的过程中被调用的,
并且构造代码块在构造方法之前先执行
类每次被实例化的过程中都会调用构造代码块.
静态代码块
使用static修饰的代码块我们称之为静态代码块,
当类加载的时候执行静态代码块,而且静态代码块仅执行一次,不可多次执行