分析如下代码,正确的是( )。 class TempClass { int i; public void TempClass(int j) { int i = j; } } public class C { public static void main(String[] args) { TempClass temp = new TempClass(2); } }
时间: 2024-03-22 09:39:58 浏览: 202
详解微信小程序 template添加绑定事件
这段代码存在一个错误。类`TempClass`中定义了一个方法`TempClass(int j)`,但是这个方法的名称和类名相同,因此它被认为是一个构造方法。但是,这个构造方法中定义了一个局部变量`i`,它会屏蔽类成员变量`i`。因此,当在`main`方法中创建`TempClass`对象时,类成员变量`i`没有被初始化,它的值为默认值0。
正确的做法应该是将构造方法修改为:
```
public TempClass(int j) {
i = j;
}
```
这样就可以正确地初始化类成员变量`i`了。因此,正确答案是:选项D,代码存在构造方法定义错误。
阅读全文