2020.8.23

一、不同访问修饰符范围

 

二、面向对象的基本原则

  单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。
  开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。
  Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。
  依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。
  接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口。

 

三、

  CountDownLatch 是等待一组线程执行完,才执行后面的代码。此时这组线程已经执行完。
  CyclicBarrier 是等待一组线程至某个状态后再同时全部继续执行线程。此时这组线程还未执行完。

 

四、子类与父类的初始化过程

  首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 
  然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 
  其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;
  最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法; 
 
  注意:有三种情况不会初始化子类
  1. 调用的是父类的static方法或者字段
  2.调用的是父类的final方法或者字段
  3. 通过数组来引用
posted @ 2020-08-24 13:58  Rhettttt  阅读(87)  评论(0)    收藏  举报