java - 从对象所在的类创建对象

标签 java object static

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);

    }
}

我认为,输出分别是5,10,15,20。但是代码的工作原理是15 20 15 20。

谁能解释一下为什么吗?

最佳答案

您的成员是静态的:

static int a;
static int b;

因此,两个实例的 ab 具有相同的值。

删除 static 关键字,您将获得预期的输出。

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);
    }
}

关于java - 从对象所在的类创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635816/

相关文章:

java - 如何从java执行多个SQL语句

java - 按下按钮时不会重置时间

c++ - 组合 C++ 有问题

java - 从jsp访问类的静态字段

java - Android 时间与 Java 时间之间的转换

java - 为什么我的 NumberFormatException 没有被我的 try-catch 捕获?

Javascript 从对象中获取相应的键/值

javascript - 如何从 Javascript 中的对象列表中获取不同的年份

java - 我的一个类中的一个变量 "cannot be resolved or is not a field"

java - 为什么它一直输出 "0"?