【继承】的零碎知识点--JAVA基础
一、继承中的访问修饰符
Java 中有三个访问权限修饰符:private、protected 以及 public,如果不加访问修饰符(缺省),表示包级可见。
- public:任何情况下可见;
- proteced:不同包中,只有子类可见;
- 缺省:同一个包中可见;
- private:类内部可见。
可以对类或类中的成员(字段以及方法)加上访问修饰符。
- 类可见表示其它类可以用这个类创建实例对象;
- 成员可见表示其它类可以用这个类的实例对象访问到该成员。
设计良好的模块会隐藏所有的实现细节,把它的 API 与它的实现清晰地隔离开来。模块之间只通过它们的 API 进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念被称为信息隐藏或封装。因此访问权限应当尽可能地使每个类或者成员不被外界访问。
二、继承中字符类成员的加载顺序
- 父类静态代码块、静态变量、静态方法(加载顺序和类中声明顺序有关);
- 子类静态代码块、静态变量、静态方法(加载顺序和类中声明顺序有关);
- 父类的普通代码快和实例变量初始化;
- 父类的构造方法;
- 子类类的普通代码快和实例变量初始化;
- 子类的构造方法;
其中,如果类已经被加载,则***静态代码块和静态变量***就不用重复执行(只在第一次被加载执行),再创建类对象时,只执行与实例相关的变量初始化和构造方法。