public class NamedPoint { String name; NamedPoint(int x , int y , String name){ super(); this.name=name; } public static void main(String[] args) { NamedPoint np=NamedPoint(5,5,"SmallPoint"); System.out.println("x is "+np.x); System.out.println("y is "+np.y); System.out.println("Name is "+ np.name); } }
时间: 2023-11-28 19:49:02 浏览: 54
这段代码存在一些问题,需要进行修正:
1. 在类中没有定义 x 和 y 两个变量,因此需要添加这两个变量。
2. 在构造函数中没有对 x 和 y 进行初始化,需要进行初始化。
3. 在构造函数中传入的 x 和 y 参数没有被赋值给类中的 x 和 y 变量,需要进行赋值。
4. 在 main 方法中创建 NamedPoint 对象时需要使用 new 关键字,并传入正确的参数。
5. 在 main 方法中访问 x 和 y 成员变量时,由于它们没有被定义为 public,因此需要使用 getter 方法进行访问。
修正后的代码如下:
```
public class NamedPoint {
private int x;
private int y;
private String name;
NamedPoint(int x, int y, String name) {
this.x = x;
this.y = y;
this.name = name;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public static void main(String[] args) {
NamedPoint np = new NamedPoint(5, 5, "SmallPoint");
System.out.println("x is " + np.getX());
System.out.println("y is " + np.getY());
System.out.println("Name is " + np.name);
}
}
```
阅读全文