什么是:是前辈对代码开发经验的总结是解决一系列问题的套路。是一套用来提高代码复用性,可维护性,可读性,稳健性以及安全性的解决方案。
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。
就是一个类A可能会用到另一个类B,所以将类B作为类A的参数传入到类A,这个可能具有偶然性,临时性,非常弱的关系
两个类之间语义级别相同,是一种强依赖关系。他是长期性的,是平等的关系
聚合关系:has-a关系,关联关系中的一种,是部分与整体的关系。两类之间有各自的声明周期。当整体不存在在时,部分还存在。
组合关系:cintains-a关系,关联关系的特例,比聚合关系更强,同样体现部分与整体,可两类之间的生命周期相等,一个不存在另一个也将不存在。
什么是:为了节省内存资源,保证数据内容的一致性,对某个类要求只能创建一个实例
懒汉式:在调用功能时就创建,线程不安全|不同步
创建步骤
私有的静态的该类的引用
构造器私有化
公共的静态的访问方式,为了保证多个线程同时加载线程安全要在方法名上加synchronized锁住该方法。
饿汉式:在类加载完成之后就创建对象,线程安全|同步 创建步骤
私有的静态的该类的引用
构造器私有化
公共的静态的访问方式(newInstance)
静态代理
代理与真实角色实现相同接口
代理角色持真实角色引用
代理行为
动态代理
抽象产品角色
具体产品角色
工厂角色
注意:字符串比较是否相等需要使用equals方法进行比较字符串的内容,建议常量放在.的前面,避免空指针异常的出现