对象数组里的对象如何创建?
classa{staticintb=0;a(){b++;}publicstaticvoidmain(String[]args){a[]aa=newa[3];System....
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);
}
}
只是创建了个数组但没有创建对象啊 如何创建? 展开
{
static int b=0;
a()
{b++;}
public static void main(String[] args)
{
a []aa=new a[3];
System.out.println(aa[0].b);
}
}
只是创建了个数组但没有创建对象啊 如何创建? 展开
2个回答
展开全部
main函数中声明数组后加一句
for(a g:aa){
g=new a();
}
为每个数组元素实例新的对象。
打印结果将为3,因为b为静态变量,即所有的对象共享。
for(a g:aa){
g=new a();
}
为每个数组元素实例新的对象。
打印结果将为3,因为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);
}
}
输出的结果是
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修饰的变量在内存中只会有一个,大家都能共享,你动了它,在别人那就会作出相应的反应。
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修饰的变量在内存中只会有一个,大家都能共享,你动了它,在别人那就会作出相应的反应。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询