摘要: 因为接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口的时候,需要修改全部实现该接口的类,目前的java 8 之前的集合框架没有foreach方法,通常能想到的解决办法是在jdk里给相关的接口添加新的方法及实现。然而,对于已发布的版本,是没法再给接口添加新方法的同时不影响已有的 阅读全文
posted @ 2023-02-09 17:46 英特耐雄纳尔定要实现 阅读(49) 评论(0) 推荐(0)
摘要: 因为接口设计出来就是为了被调用的,人家可以直接用这个接口名称去调用其被实现了的方法。一个方法如果需要能够被外部调用,那肯定是public的,如果这个方法可以直接通过接口名被调用,那么这个方法一定是static的。如果不是公有的,外面的如何去调用它,如果不是static,怎么直接通过接口名称去调用?如 阅读全文
posted @ 2023-02-09 16:58 英特耐雄纳尔定要实现 阅读(202) 评论(0) 推荐(0)
摘要: 因为如果不在声明时使用初始值,系统就会默认给这个变量分配0、'\u0000'、false或null。又由于这个变量被final修饰了,不能再变了。所以就是个废的变量,没有任何存在的意义。你看起来好像没有赋值,实际上系统已经在背地里赋值了,所以必须要在声明时马上赋值。 阅读全文
posted @ 2023-02-09 14:05 英特耐雄纳尔定要实现 阅读(36) 评论(0) 推荐(0)
摘要: getInstance方法提供自定义控制(这也是封装的优势:不允许自由访问类的成员变量和实现细节,而是通过方法来控制合适暴露),保证Singleton类只能产生一个实例。 阅读全文
posted @ 2023-02-09 14:00 英特耐雄纳尔定要实现 阅读(18) 评论(0) 推荐(0)
摘要: 抽象类不能创建实例,只能当成父类来被继承。从语义的角度来看,抽象类是从多个具体类中抽象出来的父类,他具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类设计的随意性。 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类 阅读全文
posted @ 2023-02-09 13:11 英特耐雄纳尔定要实现 阅读(98) 评论(0) 推荐(0)