1.导读
- 不要在代码中调用gc,因为没调用一次gc,java虚拟机就会在不定的时间执行一遍清理工作,而在这个过程中,所有的线程都必须暂停,等待清理线程执行完毕。
- java中也向c++一样引入了构造器的概念,并额外提供了“垃圾回收器”。对于不再使用的内存资源卖垃圾回收器能将其自动释放。
2.构造器
- java 用构造器来保证对象的初始化。
- 构造器的命名与类名相同。
- 当new一个对象时,将会对对象分配存储空间,并调用相应的构造器。确保在操作对象之前,它已经被恰当的初始化。
- 默认构造器;不接受任何参数的构造器。
- 构造器不会返回任何东西,void还会默认返回一个null,但构造器是真的什么都不返回。
3.this关键字
- Banana a = new Banana();
b = new Banana();
a.pell(1);
b.pell(2);
只有一个pell方法,它如何知道是被a调用还是被b调用的?
为了能简单的、面向对象的语法来编写代码——即“发送消息给对象”,编译器做了一些幕后工作,。它暗自把“所操作对象的引用”作为
第一个参数传递给pell().
Banana.pell(a,1);
Banana.pell(a,2);就变成了这样。这是内部的表示。
- 假设你想在方法内获得传递的这个引用,但这个引用有时编译器“内部”传递的。所以没有任何表示符可用,所以就有了this这个关键字。这个关键字即代表这个传递进来的引用。
也就是说this代表“调用方法的那个对象”的引用。this的用法和其他对象的引用并无不同。 - 也可理解为对当前对象的引用。
- 使用this关键字可以实现在构造器中调用构造器
public class test { public test() { this(1); } public test(int type){ } }
4.static
- 静态方法,static方法就是没有this的方法。在static内部不能调用非静态的方法,反过来可以。
- 可以不初始化对象,仅仅通过类本身来调用静态方法。
- java中禁止使用全局方法,但可以在勒种植入static方法就可以访问其他static方法和域。