1、内聚性
类应该描述一个单一的实体,所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标。例如:学生和教职工属于不同的实体,应该定义两个类。
2、一致性
要遵循一定的设计风格和命名习惯。给类、方法、数据域选择有信息量的名字。流行的风格是将数据声明置于构造方法之前,并将构造方法置于方法之前。
选择的名字要保持一致,给类似的操作选择不同的名字并非好的习惯。
如果不想让用户创建类的对象,可以在类中声明一个私有的构造方法。
3、封装性
用private修饰符隐藏其数据域,以免用户直接访问。如果想让数据域可读,可以使用get方法,如果想让数据域可更新,可以使用set方法。
4、清晰性
类应该有一个很清晰的合约,易于解释和理解。
方法应在不产生混淆的情况下凭直觉来定义。
不应该声明一个来自其他数据域的数据域。
5、要用类名来引用静态变量和方法。
6、不要从构造方法中直接传参数初始化静态数据域。最好使用静态的set方法改变静态数据域。
7、类修饰符private(只能在本类中访问),default(默认的只能在同一个包中访问), protected(可以被同一个包中的类以及子类访问),public(不同包中的类也可以访问) 。 子类只能扩大父类中的可访问性,而不能削弱父类中的可访问性。
8、final 表示一个类是终极的,是不能做父类的。同理,一个终极的方法不能被它的子类覆盖。