对象数组里的对象如何创建?

class a
{
static int b=0;
a()
{b++;}

public static void main(String[] args)
{
a []aa=new a[3];

System.out.println(aa[0].b);
}
}
只是创建了个数组但没有创建对象啊 如何创建?

第1个回答  推荐于2018-04-04
main函数中声明数组后加一句
for(a g:aa){
g=new a();
}
为每个数组元素实例新的对象。
打印结果将为3,因为b为静态变量,即所有的对象共享。本回答被网友采纳
第2个回答  推荐于2016-10-27
这是我写的程序!
class a
{
static int b=0;
a()
{b++;}

public static void main(String[] args)
{
a[]aa=new a[3];

aa[0] = new a();
System.out.println(aa[0].b);

aa[1] = new a();
System.out.println(aa[1].b);

aa[2] = new a();
System.out.println(aa[2].b);
}
}
输出的结果是
1
2
3

现在再加上一句输出aa[0].b

class a
{
static int b=0;
a()
{b++;}

public static void main(String[] args)
{
a[]aa=new a[3];

aa[0] = new a();
System.out.println(aa[0].b);

aa[1] = new a();
System.out.println(aa[1].b);

aa[2] = new a();
System.out.println(aa[2].b);

System.out.println(aa[0].b);
}
}
输出结果为
1
2
3
3
楼上说的很对因为 b为 static的,叫类变量。
被static修饰的变量在内存中只会有一个,大家都能共享,你动了它,在别人那就会作出相应的反应。本回答被提问者采纳
第3个回答  推荐于2018-04-04
main函数中声明数组后加一句
for(a g:aa){
g=new a();
}
为每个数组元素实例新的对象。
打印结果将为3,因为b为静态变量,即所有的对象共享。本回答被网友采纳
第4个回答  推荐于2016-10-27
这是我写的程序!
class a
{
static int b=0;
a()
{b++;}

public static void main(String[] args)
{
a[]aa=new a[3];

aa[0] = new a();
System.out.println(aa[0].b);

aa[1] = new a();
System.out.println(aa[1].b);

aa[2] = new a();
System.out.println(aa[2].b);
}
}
输出的结果是
1
2
3

现在再加上一句输出aa[0].b

class a
{
static int b=0;
a()
{b++;}

public static void main(String[] args)
{
a[]aa=new a[3];

aa[0] = new a();
System.out.println(aa[0].b);

aa[1] = new a();
System.out.println(aa[1].b);

aa[2] = new a();
System.out.println(aa[2].b);

System.out.println(aa[0].b);
}
}
输出结果为
1
2
3
3
楼上说的很对因为 b为 static的,叫类变量。
被static修饰的变量在内存中只会有一个,大家都能共享,你动了它,在别人那就会作出相应的反应。本回答被提问者采纳
相似回答
大家正在搜