天天看点

Java 学习笔记 5 - 初始化与清理

构造器的名称必须保持和类名完全一致,包括大小写;

构造器默认没有修饰符,或者使用 public、private、protected 进行修饰,但是不能使用 static、final、synchronized、abstract 等进行修饰;

构造器没有返回类型,void 也不行;

不接受任何参数的构造器叫做默认构造器,它的修饰符是 public,内容为空;

每个类至少要有一个构造器,如果一个类没有显式定义构造器,Java 会提供一个默认构造器;如果有明确定义构造器,就不会有默认构造器了(除非显示定义的构造器和默认构造器是一样的);

不同的构造器可以通过参数不同来进行区分,方法如果被重载也一样可以通过参数不同进行区分,另外方法的重载还可以通过返回值来进行区分;

class GouZaoQiOne {
    String testStr;

    /**
     * 构造器名称包括大小写必须和         类名保持一致;     
     * 构造器默认没有修饰符,或者使用 public、private、protected 进行修饰,     
     * 但是不能使用 static、final、synchronized、abstract 等进行修饰;     
     * 构造器没有返回类型,void 也不行;     
     * @return
     */
    GouZaoQiOne() {
        System.out.println("This is a default(friendly) GouZao method");
    }

    //不同的构造器可以通过参数不同来进行区分
    GouZaoQiOne(String str) {
        System.out.println("This is a new GouZao method with param");
    }
}
           

this 关键字只能在方法内部使用,表示正在执行方法的类的实例对象;

构造器中也可以使用 this,他指向同一个对象中不同参数的另一个构造器;

this调用其他构造器时,代码必须放到第一行,否则会编译错误;

只能使用 this 调用一次其他的构造器;

static 方法不可以使用this对象,因为静态方法不属于类的实例对象;

对象可能不被垃圾回收;

垃圾回收并不等于"析构";

垃圾回收只和内存有关;

finalize() 调用并不会立马触发垃圾回收,而是在下次垃圾回收器干活时会首先调用 finalize() 方法;

如果程序调用了非 Java 程序的本地代码,可能需要在 finalize( 方法中调用释放操作;

几种触发垃圾回收器的方法是: 主动调用 System.gc(); 让程序占用大量内存; 程序退出;

变量初始化顺序由其定义的先后顺序决定,并且变量肯定在所有方法被调用之前被初始化,那么其定义在方法的后面;

可变长参数列表定义格式:String... str , 同意义的还可以是 Obect[] obj;

   //String... 定义可变长参数
    public void testMethod(String... strings) {        
        for (String string : strings) {
            System.out.println(string);
        }
    }    

    //String[] 定义可变长参数
    public void testMethod2(String[] strings) {        
        for (String string : strings) {
            System.out.println(string);
        }
    }
           

枚举类型关键字是 enum,比如 public enum Test {TEST1, TEST2}

 本文作者: sylan215

 本文地址: http://www.sylan215.com/

 版权声明: 本文首发于公众号「sylan215」,可以随意转载,但必须在明确位置注明出处!