原则1:类和接口的设计应遵循面向对象SOLID设计原则
1、单一职责原则
2、开放封闭原则
开放封闭原则指的是,新增功能时可以不修改原有的代码。也就是对扩展开放,对修改封闭。
3、里氏替换原则
里氏替换原则是指,子类的实例应该能够替换任何其超类的实例。
4、接口分离原则
5、依赖倒置原则
原则2:类的设计应遵循迪米特法则
迪米特法则又叫最少知识原则,初衷在于降低类之间的耦合。
原则3:类的设计应遵循“Tell,Don‘t ask”原则
应该尽量告诉对象你希望它们去做的事情,而不要询问它们的状态之后做出决定,最后才告诉它们做什么事情。
规则1:除提供给外部使用的全局常量外,应尽量避免类成员变量被外部直接访问
规则2:避免在无关的变量或无关的概念之间重用名字,避免隐藏、遮蔽和遮掩
规则3:不要在父类的构造方法中调用可能被子类覆写的方法
规则4:覆写equals方法时,应同时覆写hashCode方法
Java对象的hashCode方法有如下约定:
1.同一次运行中,同一个对象如果equals方法中用到的信息没有改变,多次调用hashCode方法返回值必须相同;
2.如果两个对象调用equals方法时相等,则这两个对象的hashCode方法,也必须返回相同的值;
3.如果两个对象调用equals方法时不相等,则这两个对象的hashCode方法,不要求其返回值不同。
规则5:子类覆写父类方法时应加上@Override注解