问题一
static修饰的方法有: 工具类方法、工厂方法(用于创建对象)
不用static修饰方法的特性:实例方法依赖类的对象,直接在方法内部访问
getName方法依赖于Student的对象,不应该用static修饰
问题二
在购物车场景里,分别讨论参与的实体、实体的行为和实体的状态,如购物车里有Goods和ShoppingCart,Goods可以有price的属性和getPrice的方法;
判定方法:看描述的是实体的行为还是特征
问题三
使用package(包)来组织类,这样把类放在特定包下,即使同名也不会冲突,例如:com.example.a.project和com.example.b.project;
管理这些代码应该按照功能属性的不同来划分模块包,比如电商中可以有实体包(商品 订单)、业务包(购买 售后)、数据包(价格、库存)。
问题四
规范一: 变量命名(小驼峰命名法) 如studentNumber,避免无意义命名
规范二:类命名(大驼峰命名法)如StudentInformation,体现类功能
规范三:方法命名 (小驼峰命名法+动词在前),如getStudents;
规范四:常量命名(全部大写 单词间用下划线分隔)不改变值如MAX_MARK;
规范五:包命名(全部小写,用点分隔)如com.school.student 体现层级和功能
规范六:代码格式(缩进四空格,大括号左不换行、右单独行)如
public class Demo{public void method(){......}
}
规范七:OOP规约(禁止在简单java对象类中同时存在toString、hashCode、equals方法的部分重写)