Thinking in Java笔记

 

第二章 万事万物皆对象

 

{

       String s = new String(“a string”);

}/*end of scope*/

s 这个reference在生存空间之外消失的无影无踪,但是s先前所指的那个String对象,仍然继续占用内存。

 

第三章 控制程序流程

 

当你对对象进行赋值时,你所操作的实际上是他们的refrence,如:C = D这个式子,实际上会将C D都指向D原先所指的对象。

 

Math.random() 会产生介于01之间的值(double

 

第四章 初始化和清理

 

每个重载函数都有唯一的引数列。

 

Java中可以赋予this一个引数列,从而我们能够在构造函数中直接调用其他构造函数(C++不能如此)。

 

第五章 隐藏实现细目

 

第六章 重复运用Classes

 

如果你未指定成员函数的访问权限,默认为friendly

 

base class 构造函数的调用必须是drivered class构造函数所做的第一件事。

 

向上转型(upcasting

 

Final Data

1.       可以是永不改变的编译期常量”;

2.       可以在执行期被初始化,但你却不想再改变它.

 

final 用于reference时,此reference不能指向其他对象,但此时对象的值还是可以改变的。

 

Final methods

1.       锁住这个函数,使drivered classes无法改变其意义。

2.       效率。

 

 

Final classes

 

第七章 多态

 

Method-call 是后期绑定。(C++是前期绑定)

 

在继承关系中,如果你有某些特殊的清理活动在垃圾回收时进行,你就得覆写finalize(),千万记得调用base class finalize(),如果不是这样,base class的终止动作就不会发生。

 

执行期型别辨识(RTTI

 

第八章 接口与内隐类

 

Java的多重继承(实现多个接口)接口也可以继承多个接口

 

inteface 内的数据成员会自动成为static final ,可被非常量表达式初始化。

 

静态内隐类可以写main用于测试该class之用。

 

第九章 持有你的对象

 

返回一个array(c/c++不行)

 

Arrays 提供重载版的equals()

 

List 会以安插次序安置元素,Set 不接受重复元素,使用自己内部的一个排列,Map不接受重复元素(以key判断),使用自己内部的一个排列。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值