分别想象这些课程。仅出于我的问题,我将这两个类放在一个类中。但问题是,由于两种方法的输出相同。为什么要使用Example1中的代码而不是Example2中的代码,反之亦然?

package Example1;

public class Swan
{

    int numberEggs;

    public static void main(String[] args)
    {
        Swan mother = new Swan();

        mother.numberEggs = 1;

        System.out.println(mother.numberEggs);

    }
}


相比:

package Example2;

public class Swan
{

    static int numberEggs = 1;

    public static void main(String[] args)
    {

        System.out.println(numberEggs);

    }
}

最佳答案

我建议您使用另一种方法。主应用程序上下文应与域上下文分开。天鹅是一个领域对象。您应该考虑使用main方法为应用程序创建主类。

// Main application context
public class Application {
    public static void main(String[] args) {
        Swan swan = new Swan(1);
        System.out.println(swan.getEggs());
    }
}

// Domain class, should be in domain package
class Swan {
    private final int eggs;

    public Swan(int eggs) {
        this.eggs = eggs;
    }

    public int getEggs() {
        return eggs;
    }
}

07-27 13:35