[Thinking_in_Java] 初始化与清理 —— initialize

 初始化与清理 —— initialize

 

1 构造器是一种特殊的类型,因为它没有返回值,而且在后面会知道,所有的构造函数可以把它理解为特殊的静态方法(the constructor is actually a static method.)。

  如果你是在类被加载的时候看待,那么它是static的。因为在JVM加载类时首先会初始化static属性为默认值,在这里构造器会被调用。
  如果你是在创建对象的时候看待,那么它不是static的,构造器在里就如对象引用调用成员方法一样。类名后的这个括号“()”就表示调用构造器。如果没有定义构造器,编译器会默认创建一个无参的构造器。

 

2 方法调用时,如果传入的数据类型小于方法中声明的形式参数类型,实际的数据类型会被提升。换句话说:字节数小的数据类型向最接近其字节数的类型转换

boolen->char->byte->short->int->long->float->double

如果传入的数据类型大于方法中声明的形式参数类型,必须强制将字节数大的数据类型转换成字节数小的数据类型。

 

3 重载只能以类名和方法的形参列表作为区分标志

根据方法的返回值来区分重载方法是灰常不靠谱的。

 

4 this

this和js一样,表示是对当前对象的引用。this只能在方法内部使用。

 

5 static方法

static方法内部不能调用非静态方法,但是非静态方法可以调用static方法。

static和类相关,所以可以在没有任何对象的前提下,仅仅通过类本身来调用static方法。

static方法是没有this的方法。

 

6  轮不到你用finalize()

 

7 垃圾回收的机制

  引用计数

  标记-扫描  && 停止-复制

 

8 类的初始化顺序

  静态成员->普通成员->静态方法->构造器

转载于:https://www.cnblogs.com/yingzi/archive/2012/12/04/2801101.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值