JAVA求在局部内部类中,写了一个事件监听器,在里面改如何引用外部类的对象数组?急求!!!!!!

2025-01-04 13:37:28
推荐回答(2个)
回答1:

........好多极低错误
你这个根本通不过编译
..看起来和原来不太一样 但是大概意思应该是一样的

至于你说的
arr[i].setNum(100);//这里会报错,说arr[i]没有定义

arr[i]这个数组定义本身就是错误 A arr[]=new arr[5];是什么???应该是A arr[]=new A[5];

还有这种注册事件的话最好使用匿名内部类 还有这个如果写在main方法里也会保存
如果写在main方法里的话需呀先实例化外部类对象才能

public static void main(String[] args)
{
A a = new A();//这里注意加参数.......你自己写的要不也保错
button1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
a.arr[0].setNum(100);
}
});

}

public class A
{
private int num;
private String name;
A arr[]=new A[5];

public A(int n,String name)
{
num=n;
name=name;

Button button1 =new Button();

button1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
arr[0].setNum(100);
}
});
}

protected void setNum(int i) {
// TODO Auto-generated method stub

}

public void SetNum(int number)
{
this.num=number;
}

}

回答2:

safdasd