Java中构造器与类名相同,没有返回值,最典型的方法重载是构造器重载,重载方法必须有一个独一无二的参数型列表。基本类型重载涉及到窄化转换。不能通过返回值区分方法重载。
如果没有写构造器,编译器会自动创建一个默认构造器,如果写了构造器,就不会创建默认构造器。
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用,调用同一个类的方法,不用this关键字,在构造器中调用构造器。
Java在执行垃圾回收前会首先执行finalize方法。Java中对象可能不被垃圾回收,所以finalize方法不一定调用,垃圾回收不等于C++中的析构。这个方法可以被用来作为终结验证,通过System.gc()强制执行垃圾回收,也就强制执行了该方法。
垃圾回收机制:引用计数、自适应(停止-复制方法,标记-清扫)。
Java中成员变量会被默认初始化,局部变量程序员必须保证它初始化。
初始化顺序:首先进行静态初始化,然后分配存储空间,设置默认值,非静态初始化,执行构造器。
静态初始化块和实例初始化块。
数组初始化,Java SE5提供了可变参数列表。
Java SE5中的枚举类型。
如果没有写构造器,编译器会自动创建一个默认构造器,如果写了构造器,就不会创建默认构造器。
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用,调用同一个类的方法,不用this关键字,在构造器中调用构造器。
Java在执行垃圾回收前会首先执行finalize方法。Java中对象可能不被垃圾回收,所以finalize方法不一定调用,垃圾回收不等于C++中的析构。这个方法可以被用来作为终结验证,通过System.gc()强制执行垃圾回收,也就强制执行了该方法。
垃圾回收机制:引用计数、自适应(停止-复制方法,标记-清扫)。
Java中成员变量会被默认初始化,局部变量程序员必须保证它初始化。
初始化顺序:首先进行静态初始化,然后分配存储空间,设置默认值,非静态初始化,执行构造器。
静态初始化块和实例初始化块。
数组初始化,Java SE5提供了可变参数列表。
Java SE5中的枚举类型。