Java 学习笔记 5

来源:互联网 发布:java一年经验简历 编辑:程序博客网 时间:2024/06/06 01:59


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

构造器默认没有修饰符,或者使用 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}



长按关注「我在编程」

多看 | 多想 | 多练

不积跬步无以至千里


0 0