摘要:
简单工厂模式严重违反开闭原则,耦合度太高,工厂方法模式正好弥补,之所以耦合度高是因为在创建实例的时候全部由工厂直接创造,因此工厂与对象直接联系,可以中间加一层抽象工厂,推迟创建时机,将创建实例对象的工作交给对应的对象工厂,那么在调用的时候还是使用抽象工厂(接口或抽象类)接收,但是实现为具体的对象工厂 阅读全文
摘要:
1.要什么实例就造什么对象(对象接收) public class Cat { //生产 public void get() { System.out.println("生产一只猫"); } } public class Dog { //生产 public void get() { System.ou 阅读全文
摘要:
封装:属性私有化,根据需要提供setter和getter方法使用public修饰,其他属性使用private修饰(具体使用什么修饰符依情况而定)。这里也属于开闭原则的范畴吧。通过这种特性,使得我们在使用某些方法或者变量的时候只用了解参数,返回值,功能即可,而不关心具体业务逻辑。这样就是面向对象而不是 阅读全文
摘要:
Override存在于继承关系当中,对父类方法的重写(覆盖),正因为要对父类的方法进行重写,因此不能比父类“还大”,比如抛异常应该更具体(可等),访问权限也应该更广(可等);当然就访问权限而言,父类为了被继承显然是不能使用private修饰的,否则就不能继承了 public class Father 阅读全文
摘要:
String的方法都有final修饰,对象在堆内存中,不可改变,因此每次使用String对象的方法和操作的时候,可以看做是“指针”指向了另一个堆内存空间,开辟新空间; StringBuilder和StringBuffer的对象都是可变的,而且StringBuilder和StringBuffer里面有 阅读全文