public class 成员和局部变量 {
 int i;
public static void main(String args[]){
        int i=10;
        System.out.println(i);//输出的I是10不是0 局部变量会隐藏成员变量
        System.out.println(this.i);
}}我想输出成员变量i,咋办?

解决方案 »

  1.   

    成员和局部变量 instance = new 成员和局部变量 ();
    System.out.println(instance .i);
      

  2.   

    静态方法里面不能调用this,所以只能新建实例来输出实例变量。
      

  3.   


    public class 成员和局部变量 {
         int i;
        public static void main(String args[]){
            成员和局部变量 a = new 成员和局部变量();
            int i=10;
            System.out.println(i);//输出的I是10不是0 局部变量会隐藏成员变量
            System.out.println(a.i);
        }}public class 成员和局部变量 {
        static int i;
        public static void main(String args[]){
            int i=10;
            System.out.println(i);//输出的I是10不是0 局部变量会隐藏成员变量
            System.out.println(成员和局部变量.i);
        }}
      

  4.   

    this.i不就是成员变量i的值么。。
      

  5.   

    在main 方法中 new 一个该类的的对象object,然后调用object.i;即可
      

  6.   

    同意楼上,i是对象的instance variable,没有一个对象,没办法获得i的值
      

  7.   


    这句话绕的不小,还是转过来这个弯了,
    静态方法由类直接调用,而this是指当前的对象,必须有对象才能实现,静态方法又不能生成对象,所以静态方法里不能呢个调用this。
      

  8.   

    public class 成员和局部变量 {
         static int i;
        public static void main(String args[]){
            int i=10;
            System.out.println(i);//输出的I是10不是0 局部变量会隐藏成员变量
            System.out.println(成员和局部变量.i);
        }}
      

  9.   

    可以新建一个对象,用对象名引用成员变量;
    或者把成员变量加上static关键字变成类变量用类名引用。