再读java思想——初始化与清除
1、为了能用简便、面向对象的语法来编写代码——即“发送消息给对象”,编译器做了一些幕后工作。他暗自把“所操作对象的引用”作为第一个参数传给了方法。因此实际上调用方法是这样的:
?
???? Banana.f(a, 1);
???? Banana.f(b, 2);
?
???? 将设你希望在方法的内部获取对当前对象的引用,由于这个引用是由编译器“偷偷”传入的,所以没有标识符可用。因此,可以使用专门的关键字“this”。this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。this的用法和其他对象引用并无不同。但要注意,如果在方法内部调用同一个类的方法,就不必使用this,直接调用即可。
?
2、static
?
???? 静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”,反过来是可以的。而且你可以在没有创建任何对象的前提下,仅仅通过类本身来调用静态方法。这实际上正是静态方法存在的原因。java语言禁止使用全局函数,但在类中置入静态方法就可以访问其他静态方法和静态字段。
?
3、清除:终结和垃圾回收
?
???? 垃圾回收器如何工作?
?
4、成员初始化