如何在一个方法中使用和全局变量同名的变量?因为所有结点都是绑定在按钮上的,都有触发后的事件,现在期望是只当某条件成立时,按钮上的显示不一样,功能不变.希望各位大侠帮帮忙,不知道这样说明白了没?class Test
{
private static final String ONE = "一";
private static final String TWO = "二";
......
private void test1()
{
if(某条件成立)
{
String ONE = "壹";
String TWO = "贰";
}
......
node.add(ONE); //期望是“壹”
node.add(TWO); //期望是“贰”
......
}
private void test2()
{
......
node.add(ONE); //期望是“一”
node.add(TWO); //期望是“二”
......
}
.......
}
{
private static final String ONE = "一";
private static final String TWO = "二";
......
private void test1()
{
if(某条件成立)
{
String ONE = "壹";
String TWO = "贰";
}
......
node.add(ONE); //期望是“壹”
node.add(TWO); //期望是“贰”
......
}
private void test2()
{
......
node.add(ONE); //期望是“一”
node.add(TWO); //期望是“二”
......
}
.......
}
{
String ONE = "壹";
String TWO = "贰";
}
是局部变量,if结束,变量也结束了
String ONE = Test.ONE;
String TWO = Test.TWO;
if(...)
{
ONE = "壹";
TWO = "贰";
}
就近原则考虑,ONE和TWO肯定是先匹配局部变量,然后才是类的成员
{
private static final String ONE = "1";
private static final String TWO = "2";
private void test1()
{
String ONE;
String TWO;
if(true)
{
ONE = "3";
TWO = "4";
} System.out.println(ONE);
System.out.println(TWO);} private void test2()
{ System.out.println(ONE);System.out.println(TWO);
}
public static void main(String[] args){
Test t = new Test();
t.test1();
t.test2();
}
}输出
3
4
1
2
private static final String ONE = "1";
private static final String TWO = "2";
了,下面的函数里就不要定义 String ONE 和String TWO 了,直接拿来用不就完了2.如果是按钮上显示的字的话,可以if判断后设置啊,比如Button bt=new Button(); bt.setText("一");
可以考虑如下方法
if(....) {
ONE = "XXX";
TWO = "XXX";
} else {
ONE = Test.ONE;
TWO = Test.TWO;
}
System.out.println(ONE);
System.out.println(TWO);