动手动脑

 

 我们通过new()来初始化定义的对象变量

 

 

int型可以直接使用“==”判断两变量值是否相等,对象变量不可以使用“==”判断两变量值,通常使用equals();

 

 

 

执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

 静态初始化块只执行一次。

创建子类型的对象时,也会导致父类型的静态初始化块的执行

 

 

装箱,就是把基本类型用他们相对应的引用类型包装起来,使他们可以具有对象的特质。

拆箱,就是跟装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为值类型的数据。

在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。

 

 在通过valueOf方法创建Integer对象的时候,如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。上面的代码中i1和ij1的数值为100,因此会直接从cache中取已经存在的对象,所以i1和j1指向的是同一个对象,而i2和j2则是分别指向不同的对象。

posted @ 2020-10-11 20:02  韩佳龙  阅读(60)  评论(0编辑  收藏  举报