实验与思考作业3

 在类InitializeBlockClass中,存在一个名为field的实例字段,它被初始化为100。在类InitializeBlockClass中,定义了两个构造函数。第一个构造函数InitializeBlockClass(int value)用于接收一个参数,并将该参数的值赋给field字段。第二个构造函数InitializeBlockClass()没有参数,因此使用默认值100来初始化field字段。在主类main中,创建了一个InitializeBlockClass对象obj,并输出obj的field字段值(初始值为100)。然后,使用带参数的构造函数创建了一个新的InitializeBlockClass对象obj,并将参数值300赋给obj的field字段。最后,再次输出obj的field字段值(现在为300)。结论:字段可以在声明时进行初始化,如InitializeBlockClass类中的field字段。字段也可以在构造函数中进行初始化,如InitializeBlockClass类中的构造函数InitializeBlockClass(int value)。如果字段没有在声明或构造函数中进行初始化,Java会为其提供默认值,如InitializeBlockClass类中的构造函数InitializeBlockClass()。

 

在Java中,对于范围在-128到127之间的整数,会被缓存起来以提高性能。比较i1和j1时,它们的值都在缓存范围内,因此返回true。然而比较i2和j2时,它们的值超出了缓存范围,所以它们不是同一个对象,即使它们的值相等。因此返回false。

要比较两个Integer对象的值是否相等,应该使用equals()方法而不是使用"=="运算符。

posted @ 2023-09-27 22:57  丰川扬子  阅读(13)  评论(0)    收藏  举报