1.构造方法需要写出来,无参构造必须要写
(1)构造方法建议写出来,不建议使用默认的;
(2)无参构造必须要写出来,有参构造也要写出来(如果有参构造有必要的话);
2.get、set方法中添加其它逻辑
(1)get和set方法中,除了给成员属性赋值和取值外,是否需要添加其他逻辑(如,值判断逻辑等),需要看具体需求;
(2)如果get和set方法中除了有赋值和取值逻辑,还有其他其他逻辑,那么,推荐在构造方法中,通过this.get/set()的形式操作属性,以免初始化对象的过程中错失验证过程
3.bean类,需要提供一个返回所有成员属性信息的方法,这不是必须,是习惯
(1)bean类,除了必须的get和set方法外,尽量提供一个可返回所有成员属性信息的方法;
4.equals()方法注意事项
equals()方法注意事项:字符串比较时,一般将“skfjksd”放在外边,字符串变量放在equals方法的()中,这样可以防止出现null.equlas()的情况;
equals()方法的底层细节还不明确~~~
5.方法也可以适当添加文档注释
用@***的方式
(1)可以帮助理解代码,方便维护;
(2)调用方法时,可以清晰看到方法的基本信息;
6.引用数据类型作为成员属性 get方法注意事项
瞅一瞅就行,注意其get方法的处理策略。(为什么这样?因为:引用数据类型默认值为null ?如果不这样处理,get方法(有可能)还是返回不了一个在堆中实际存在的对象)(注:对于其他引用数据类型,如数组作为成员属性时,应该采取同样的策略)
(this再额外说一遍,this代表当前对象,如下getStudentSubject()方法,那个对象调用了该方法,this就代表那个对象;this有点提前安排的意思)
注:这样并没有报错,但这样返回的对象变量是null,并没有指向一个在堆中实际存在的对象;这样在后续的使用过程中,会报空指针异常;
这个部分主要内容就是,一个类的对象作为另一个类的成员属性;
7.引用数据类型作为数组元素
若数组初始化类型为引用数据类型如 String[] array = new String[10]。数组长度为10,但如果只初始化了,而没有设置具体的值,那么如array[2]的值为null。