Note of 《thinking in java》6

6.类的重用

1.       所有的类都有一个toString方法。

2.       后期的初始化:在载入一个类时,将所有成员都初始化为完整的对象可能会导致载入负担过大,在这种情况下应使用后期初始化:即当一个对象第一次被使用时才将它初始化。(不过这就不叫初始化了吧???)

3.       Java中,Object类是所有类的祖先。

4.       你可以在每个类中添加一个public static void main(String[] args)方法,这么做的好处是为每个类提供了良好的测试便利。

5.       在构造方法中可以用super来引用父类,但不能引用到父类的父类,即不能super.super

6.       当你创建一个对象时,父类也会被创建。

7.       finally用在于无论try中的代码有没有抛出异常,finally中的代码段都要执行(可以用于清空,比如创建了一个图形,无论是否遇到异常最后要从屏幕清除)。

8.       在某些情况下(但不多),成员对象可以考虑用public,而不一定总是private,这在有些时候能提供便利。比如 car.door.open()。可以使得代码更自然,而且类成员(即door)只要保护好它的内部数据,也可以防止类使用者有额外权利(但如何防止car.door 被重新赋值呢?貌似将door设置为final不是个太好的主意。)

9.       Java中,protected权限不仅仅是指对子类开放,对同一个包中的其他类也开放。(可以在同个包里写代码试试,protected成员可以被同包中的类访问。)

10.    你可以尽可能学习和了解怎么设计一个类,但你无法了解设计一个完美的类所需要的全部答案。

11.    设计一个子类的最重要目的不是为了能够获得父类的方法,而是描述了父类和子类的联系。

12.    是否使用继承的一个判断方法是要确定你是否需要将子类类型转换为父类(多态)。

13.    对基础类型而言,final是让值不可修改,但对于类类型而言,final指的是让引用不可修改。(关于final的讨论详见我的《Javafinal的用法总结》一文)

14.    将对象设为final并没有将基础类型设为final那么有用。

15.    final不一定在编译时确定,也可以在运行时确定。

16.    final方法可以让继承类无法改变该方法的含义。

17.    所有的private方法,其实都隐式的被设为final方法,也就是说final private void set()private void set()含义上没有两样。

18.    可以把一个类设为final,即public final class C {},它的含义是该类将不可被继承(也就是绝后),但请慎用,因为这样做缺乏弹性。

19.    和编程其它语言不同,java中的类只有在需要的时候被载入。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值