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:Iftotal
是你的玩家的总价值吗玩家,那么你应该把它作为你的玩家的一个实例变量。如果它是你整个宇宙的一个总数,那么你可以创建一个名为universe
的新类,并将该字段放在那里。使用公共静态非最终字段是一个非常糟糕的主意。它们是Java的全局变量等价物,全局变量通常被认为不是o这将是一件非常糟糕的事情。
public class enterprise {
String Name;
int index;