Initialization & Cleanup

1 Guaranteed initialization with the constructor
    自动调用构造函数,给类中属性自动赋值。

2 方法重载 Method overloading
  方法重载主要是根据方法中参数的不同或者返回值的不同的几个同名方法。
  2.1 Distinguishing overloaded methods
  2.2 Overloading with primitives
      匹配采用自动匹配的方式,就近原则。char有点不同,如果找不到匹配的,就采用int,如果没有就找long、float、double。
  2.3 Overloading on return values

3 Default constructors
    当定义了构造函数,默认的构造函数将消失。
4 The this keyword
    Banana a = new Banana(),
           b = new Banana();
    a.peel(1);
    b.peel(2);
    // 会自动解释为:
    Banana.peel(a, 1);
    Banana.peel(b, 2);
   
    this关键字用在非static方法的内部,代表对象的引用。必须注意不要滥用。
    this关键字一般用于返回自身和将自身传递给外部方法。

  4.1 Calling constructors from constructors
      Flower(String s, int petals) 我们可以采用this关键字调用构造函数this(petals),但不可以再写this(s),只能写this.s = s;
  4.2 The meaning of static
      静态方法就想全局方法,不面向对象。对于静态方法我们无需传递消息给对象,所以也就没有this的使用了。
5 Cleanup: finalization and garbage collection
    垃圾回收器只负责回收使用new关键字创建的对象,对于不使用new关键字创建的对象,Java提供了finalize方法。
  5.1 What is finalize() for?
        一般情况下,不需要使用。
  5.2 You must perform cleanup
        在C++中,必须执行销毁,但在java中,即使使用了垃圾回收器或finalize也不能保证内存已经回收。
  5.3 The termination condition
        super.finalize(); // Call the base-class version
        System.gc();
       
  5.4 How a garbage collector works
    了解了一些垃圾回收的方式,优点地方没有完全看明白。

6 Member initialization
    类中的成员会自动初始化,但在过程中定义的变量,必须显示初始化。
  6.1 Specifying initialization

7 Constructor initialization
  7.1 Order of initialization
        首先初始化类中的成员,然后再初始化类中的构造函数。
  7.2 static data initialization
        静态成员的初始化只有在第一次创建对象的时候才执行,以后将不再被重新初始化。
        首先是初始化静态成员,然后是非静态成员,最后是构造函数。
  7.3 Explicit static initialization
        static Cup cup1;
        static Cup cup2;
        static {
            cup1 = new Cup(1);
            cup2 = new Cup(2);
        }

  7.4 Non-static instance initialization
        Mug mug1;
        Mug mug2;
        {
            mug1 = new Mug(1);
            mug2 = new Mug(2);
            print("mug1 & mug2 initialized");
        }

8 Array initialization
  8.1 Variable argument lists

9 Enumerated types
    for(Spiciness s : Spiciness.values())
        System.out.println(s + ", ordinal " + s.ordinal());

10 Summary
    主要介绍初始化方面的信息。另外介绍了垃圾回收器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值