Java核心技术之类与对象

知识点

1. 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。new操作符的返回值也是一个引用。

2. 局部变量不会自动地初始化为null,而必须用过调用new或将他们设置为null进行初始化。最好显示的初始化成员变量

3. 更改器方法更改调用这个方法的对象,相反,访问器方法只访问对象而不修改对象

4. 注意不要编写返回引用可变对象的访问器方法(即getter方法不要直接返回一个对象,而是要返回这个对象的clone对象,return object.clone() 而不是return object,否则返回的是这个对象的引用,会破坏封装性)。

5. 一个方法可以访问所属类的所有对象的私有数据。

Class A{

       private String name;

       public Boolean equal(A other){

       return name.equal(other.name);

}

}

       6. 成员变量为final时,必须确保构造器执行后这个域的值被设置,且后面的操作中不能修改它。如果是对象变量,则是引用不能变,但这个对象可以变

       7. 可以认为静态方法没有this参数

       8. main方法常用于本类的单元测试

       9. 当方法的参数是类对象时,实际上是按值传递的。但是方法参数引用了传递的对象地址。所以可以通过参数变量修改原对象的内部属性,而不能修改原对象的引用。

       10. 文档注释

文档注释以/**开始,以*/结束。其中可以用@标记、可以使用html语言。类注释必须放在import语句之后,类定义之前。方法注释必须放在所描述的方法之前,可用@param,@return,@throws。域注释,一般只为静态常量建立文档。要想产生包注释,就需要在每一个包目录中添加一个单独文件(package.html或package-info.java)

一定要使用#而不是.来分割类名与方法名,或类名与变量名

通用注释@author,@version,@since,@deprecated,@see(用于类或方法注释中,可增加超链接),@link(在任意位置指向其他类或方法的超链接)

       11. Date与localDate

Date类用来表示时间点,LocalDate(JDK8)是日历表示法(推荐用LocalDate

LocalDate.now()构造一个表示当前日期的对象(静态工厂方法,而不要用new)

LocalDate.of(int year, int month, int day)构造一个表示给定日期的对象

LocalDate.plusDays(int n),LocalDate.minusDays(int n)生成当前日期之后n天的日期

       12. 类设计

1)保证数据私有

2)对数据初始化

3)不要在类中过多使用基本类型

4)不是所有的域都需要独立的域访问器和域更改器(即getter和setter)

5)把职责过多的类进行分解

6)类名和方法名要能够体现它们的职责

7)优先使用不可变的类(即合理使得没有方法能修改对象的状态,而是返回一个修改状态后的新对象)

      

猜你喜欢

转载自www.cnblogs.com/kuexun/p/9984362.html