Java 从对象所在的类创建对象
我想,输出分别是5,10,15,20。但是代码的工作方式是15,20Java 从对象所在的类创建对象,java,object,static,Java,Object,Static,我想,输出分别是5,10,15,20。但是代码的工作方式是15,20 有人能解释一下原因吗?您的成员是静态的: public class MultipleObjects2Test { static int a; static int b; MultipleObjects2Test(int a,int b){ this.a=a; this.b=b;} public static void main(String[] a
有人能解释一下原因吗?您的成员是静态的:
public class MultipleObjects2Test {
static int a;
static int b;
MultipleObjects2Test(int a,int b){
this.a=a;
this.b=b;}
public static void main(String[] args) {
MultipleObjects2Test test = new MultipleObjects2Test(5,10);
MultipleObjects2Test test1 = new MultipleObjects2Test(15,20);
System.out.print(test.a);
System.out.print(test.b);
System.out.print(test1.a);
System.out.print(test1.b);
}
}
因此,这两个实例对a
和b
具有相同的值
删除static
关键字,您将获得预期的输出
static int a;
static int b;
a
和b
被声明为静态,这意味着变化
到
public class MultipleObjects2Test
{
int a;
int b;
MultipleObjects2Test(int a,int b)
{
this.a=a;
this.b=b;
}
public static void main(String[] args)
{
MultipleObjects2Test test = new MultipleObjects2Test(5,10);
MultipleObjects2Test test1 = new MultipleObjects2Test(15,20);
System.out.print(test.a);
System.out.print(test.b);
System.out.print(test1.a);
System.out.print(test1.b);
}
}
static int a;static int b;
int a; int b;