这个问题很难吗?都不敢说了...直接做个public 变量不就行了吗?
public class Test {
public String str=null;
public static void main(String[] args) {
Test test=new Test();
test.setStr();
System.out.println(test.str);
}
public void setStr()
{
str="赋值";
}
}
就你所说的给 String 变量赋值而论:
看这个和你所说的不是同一种情况吗 ?
如果监听方法 和 需要得到String变量方法不在同一类
那在要得到String变量的方法的地方必须有监听类的实例
public class Test {
private JMenuItem import1;//菜单项
....
//为import1添加事件监听器
import1.addActionListener(
new ActionListener(){
public String d=null;
public void actionPerformed(ActionEvent e){
JFileChooser fileChooser=new JFileChooser();//文件选择对话框
...
d=fileChooser.getSelectedFile().toURI().toString();
}
} );
public String getName()
{
return d;//这里的d是事件监听器里面的d值
}
}
就是这个d的问题,像上面这样,在监听器里面定义d,外边这个方法根本就访问不了,说没有定义,如果在监听器外定义,返回的d值是null