我有两个静态整数值,我正在绘制迷你圆圈,用于在框架上创建字母的数字表示, 我只需要为每个字母使用一次。我的问题是坐标是X:100 Y:100在Draw类开始时,在创建对象draw2之后具有相同的值,但它应该是x:165 y:100,Draw类中的数字正在增加。我该如何解决这个问题?
JFrame frame = new JFrame("test");
frame.setVisible(true);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Draw draw = new Draw('A');
frame.add(draw);
Draw draw2 = new Draw(' ');
frame.add(draw2);
画班
public class Draw extends JPanel{
boolean[][] letterArray;
static int X = 100, Y = 100;
答案 0 :(得分:-1)
静态变量绑定到类。与普通成员变量形成对比,后者与其拥有的实例绑定。
class ExampleA {
static int value; // a class member
}
class ExampleB {
int value; // an object member
}
ExampleA a1 = new ExampleA(), a2 = new ExampleA();
ExampleA.value = 10;
System.out.println("a1.value=" + a1.value); // 10
System.out.println("a2.value=" + a2.value); // 10
a1.value = 25; // changes ExampleA.value really
System.out.println("a1.value=" + a1.value); // 25
System.out.println("a2.value=" + a2.value); // 25
ExampleB b1 = new ExampleB(), b2 = new ExampleB();
b1.value = 5;
b2.value = 10;
System.out.println("b1.value=" + b1.value); // 5
System.out.println("b2.value=" + b2.value); // 10
换句话说:ExampleA
的所有实例共享相同的value
变量。但ExampleB
的每个实例都有自己的value
变量。