纠错public class StaticDemo { static int x; int y; static{ x=10; } public static int getX(){ return x; } public static void setX(int newX){ x=new x; } public int getY(){ return y; } public void setY(int newY){ y=newY; } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("静态变量x="+StaticDemo.getX()); System.out.println("实例变量y="+StaticDemo.getY()); StaticDemo a=new StaticDemo(); StaticDemo b=new StaticDemo(); a.setX(1); a.setY(2); b.setX(3); b.setY(4); System.out.println("静态变量a.x="+a.getX()); System.out.println("实例变量a.y="+a.getY()); System.out.println("静态变量b.x="+b.getX()); System.out.println("实例变量b.y="+b.getY()); } }
时间: 2023-11-22 16:55:03 浏览: 107
Java实验12面向对象编程基础(三)static.docx
纠错后的代码如下:
```
public class StaticDemo {
static int x;
int y;
static{
x=10;
}
public static int getX(){
return x;
}
public static void setX(int newX){
x=newX;
}
public int getY(){
return y;
}
public void setY(int newY){
y=newY;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("静态变量x="+StaticDemo.getX());
StaticDemo a=new StaticDemo();
StaticDemo b=new StaticDemo();
a.setY(2);
b.setX(3);
b.setY(4);
System.out.println("静态变量a.x="+a.getX());
System.out.println("实例变量a.y="+a.getY());
System.out.println("静态变量b.x="+b.getX());
System.out.println("实例变量b.y="+b.getY());
}
}
```
修改的地方为:
1. `setX` 方法中的 `new x` 应该改为 `newX`。
2. 在 `main` 方法中,由于 `getY` 方法不是静态方法,需要通过实例对象来调用。在修改 `a` 和 `b` 对象的属性时,只需要修改非静态属性即可。
阅读全文