帮忙看段代码~~~

gonewithwind2006 2007-09-10 09:54:05
public class A
{
private int a1;
public int a2;
static int a3;
public A(int a1,inta2){this.a1=a1;this.a2=a2;}

protected int methodA() {return a1*a2;}

class B{
int b1=a1;
int b2=a2;
int b3=a3;
int b4=new A(3,4).a1;
int b5=methodA();
}

public static void main(String args[]){
A.B b=new A(1,2).new B();
System.out.println("b.b1="+b.b1);
System.out.println("b.b2="+b.b2);
System.out.println("b.b3="+b.b3);
System.out.println("b.b4="+b.b4);
System.out.println("b.b5="+b.b5);
}
}


为什么输出结果是:

b.b1=1
b.b2=2
b.b3=0
b.b4=3
b.b5=2

为什么不是 b1=3
b2=4


...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gonewithwind2006 2007-10-08
  • 打赏
  • 举报
回复
头一次发帖提问,谢谢楼上几位
xuleilove1028 2007-09-11
  • 打赏
  • 举报
回复
int b4=new A(3,4).a1;执行完以后,不可能再调用一次本身吧,如果是这样那程序就会陷入死循环了!
amazeur 2007-09-11
  • 打赏
  • 举报
回复
int b4=new A(3,4).a1;
A.B b=new A(1,2).new B();
主要是使用了两个A对象。
gonewithwind2006 2007-09-11
  • 打赏
  • 举报
回复
谢谢楼上的。。。。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧