通过两个类StaticDemo、Main 说明静态变量方法与实例变量方法的区别。 以下程序编译的时候会报错请修改程序使得程序能够正确运行并输出和样例一样的结果。 注意不要改变那几行println的顺序。 class StaticDemo static int x; 1 int y; public static int getX 2 return x; pub
解题思路:
静态变量和静态方法属于类,对于同一个类的所有实例对象都共享同一个静态变量,可以通过类名直接调用,而实例变量和实例方法属于实例对象,每个实例对象都有自己的一份实例变量,不能通过类名直接调用,必须先创建实例对象才能调用。
根据上述思路,修改代码如下:
class StaticDemo { static int x; // 静态变量x int y; // 实例变量y
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 class Main { public static void main(String[] args) { System.out.println("静态变量x=" + StaticDemo.getX()); StaticDemo a = new StaticDemo(); StaticDemo b = new StaticDemo(); System.out.println("实例变量y=" + a.getY()); 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()); } }
原文地址: https://www.cveoy.top/t/topic/bwrg 著作权归作者所有。请勿转载和采集!