Java 获取对象数组数据

Java 获取对象数组数据,java,Java,所以我首先声明一个类的这个对象: static enterprise[] en = new enterprise[10]; 然后,在主管道内: for(int i=0;i<=9;i++){ System.out.println("Insert name of the " + (i+1) + "ª enterprise"); en[i] = new enterprise(i); Scanner scanner = new Scanner(System.in);

所以我首先声明一个类的这个对象:

static enterprise[] en = new enterprise[10];
然后,在主管道内:

for(int i=0;i<=9;i++){
    System.out.println("Insert name of the " + (i+1) + "ª enterprise");
    en[i] = new enterprise(i);
    Scanner scanner = new Scanner(System.in);
    en[i].setName(scanner.next());
    System.out.println(en[i].Name);
    }

for(inti=0;i这是因为您的字段被声明为静态的

public class enterprise {
    static String Name;
    static int index;
当一个字段是静态的时,它意味着变量与类相关联。静态变量对于每个实例不能有不同的值

应该是这样的:

public class enterprise {
    String Name;
    int index;

这是因为您将变量设置为静态。删除静态关键字,它就会工作。
static
在Java中不像在C中那样工作。

static
字段在实例之间共享,因此从那些希望每个实例具有独立值的字段中删除
static
修饰符。请参阅Sun Java教程。嗯,但是现在我在eclipse上发现另一个名为player的类出错了,我一共有4个类,player、enterprise、敌军和main。eclipse说数量、名称和值必须是静态的。这里是确切的错误:无法对非静态字段enterprise进行静态引用。名称和代码:@zyngawow:哦,等等,你实际上没有实例,这就是为什么会出现错误的原因。在这种情况下,您确实需要这两个字段是静态的(但只有这两个)。但这段代码很难闻。这些字段可能应该是玩家的实例变量,假设这是玩家拥有的总价值的某种计数。只有一个玩家实例,但有多个敌人和多个企业。你能解释得更好一点吗?@zyngawow:If
total
是你的玩家的总价值吗玩家,那么你应该把它作为你的玩家的一个实例变量。如果它是你整个宇宙的一个总数,那么你可以创建一个名为
universe
的新类,并将该字段放在那里。使用公共静态非最终字段是一个非常糟糕的主意。它们是Java的全局变量等价物,全局变量通常被认为不是o这将是一件非常糟糕的事情。
public class enterprise {
    String Name;
    int index;