public class PersonTest {
    private int age = 20;
    private String name = "Hello";
    public String getInfo() 
    {
        String name  = "XiaoBai";
        int age = 12;
        if (name != null)
        {
            return "Name: "+ name + "\n" +"age:"+ age; //这里访问的是局部变量
        }
        return "Name: "+ this.name + "\n" +"age:"+ this.age; //这里访问的是成员变量
    }
public static void main(String[] args) {
 
    PersonTest p1 = new PersonTest();
    System.out.println(p1.getInfo());}}String name  = "XiaoBai";这个地方如何修改,才能输出成员变量的值,而不是局部变量的值?

解决方案 »

  1.   

    String name = null;
    或者直接就private String name; 
      

  2.   

    楼主用的好像是我给的代码
    这样写纯粹是想告诉你,当名字相同时,怎么访问的是局部变量,怎么访问的是成员变量
    这个程序本身是没有实际意义的,正常的时候是不会这样写的,楼主不用深究不过还是稍微解释一下吧:
    首先,要想返回的是成员变量的值,判断条件需为假,即name应该为null,这里的name是前面的局部变量,所以要改的话,可以将其赋值为空,即String name = null