class SrUsethis
{
int x=10;
void show1()
{
int x=7;
System.out.println(x);   //这里为什么不是int x=10;
System.out.println(this.x);  //而这里为什么又能提取到上边那个10呢
}
void show2(int x)
{
System.out.println(x);
this.x=x;
System.out.println(this.x);
}
}
class Srthis
{
public static void main(String args[])
{
SrUsethis ob=new SrUsethis();  
ob.show1();  //这里能把ob改成this吗?this能指代对象吗???
ob.show2(12);
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-06-27 10:16:31的历史汇总数据(不包括此帖):
    发帖数:186                发帖分:8777               
    结贴数:186                结贴分:8777               
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   

    class SrUsethis
    {
        int x=10;
        void show1()
        {
            int x=7;
            System.out.println(x);   //这里为什么不是int x=10;  此x为局部变量,当然只能是7
            System.out.println(this.x);  //而这里为什么又能提取到上边那个10呢/ 通过this.xx 是得到的全局变量 所以是10
        }
        void show2(int x)
        {
            System.out.println(x);
            this.x=x;
            System.out.println(this.x);
        }
    }
    class Srthis
    {
        public static void main(String args[])
        {
            SrUsethis ob=new SrUsethis();  
            ob.show1();  //这里能把ob改成this吗?this能指代对象吗???  可以 this是指带类本身
            ob.show2(12);
        }
    }
      

  3.   

    class SrUsethis
    {
        int x=10;
        void show1()
        {
            int x=7;
            System.out.println(x);   //这里打印的是局部变量X的值得,当然是7了
            System.out.println(this.x);  //这里的this代表当前对象,这就是SrUsethis的具体对象,那么它获得的X是全部变量,所以X=10
        }
        void show2(int x)
        {
            System.out.println(x);
            this.x=x;
            System.out.println(this.x);
        }
    }
    class Srthis
    {
        public static void main(String args[])
        {
            SrUsethis ob=new SrUsethis();  
            ob.show1();  //不可以用this代替ob,因为ob是SrUsethis的对象,在这里this代表的是Srthis的对象,在Srthis类中也没有show1()的方法,如果有就可以.
            ob.show2(12);
        }
    }
      

  4.   

    class Srthis
    {
        public static void main(String args[])
        {
            SrUsethis ob=new SrUsethis();  
            ob.show1();  //这里能把ob改成this吗?this能指代对象吗???  可以 this是指带类本身
            ob.show2(12);
        }
    }不好意思看错了!这还有个类Srthis 实在  惭愧!
      

  5.   

    this 表示当前类的对象吧!
      

  6.   

    三楼正解。
    this表示当前对象的引用。
      

  7.   

    当前类?this 在实例方法内代表到调用此方法的实例本身的引用。例如:
    ob.show1(); 时在 show1() 方法内部 this 代表 ob。
      

  8.   

    this 是当前对象的引用。
    this.x 相当于 SrUsethis.x
      

  9.   

    /*
    import java.util.ArrayList;
    import java.util.List;class superclass {
    public static int x = 100; public static int plus(int a) {
    x = x + a;
    return x;
    }}public class Te extends superclass { public static void main(String args[]) {
    String begindata = null;
    if (begindata != null) {
    System.out.println("zhen");
    }else
    System.out.println("jia");
    // if ( !(begindata.trim().equals(""))) {
    // System.out.println("lsfksjfksdk");
    // }
    // if (begindata != null || !begindata.trim().equals("")) {
    // System.out.println("lsfksjfksdk");
    // }
    }}
     */class SrUsethis {
    int x = 10;//全局变量 void show1() {
    int x = 7;//局部变量
    System.out.println(x); //这里为什么不是int x=10;  此x为局部变量,当然只能是7
    System.out.println(this.x); //而这里为什么又能提取到上边那个10呢/ 通过"this."得到的全局变量 所以是10
    } void show2(int x) {
    System.out.println(x);
    this.x = x;
    System.out.println(this.x);
    }
    }class Srthis {
    public static void main(String args[]) {
    SrUsethis ob = new SrUsethis();
    ob.show1(); //这里能把ob改成this吗? 不能。
    ob.show2(12);
    }
    }//this能指代对象吗??? 
    //可以,但是 this的意思是指当前类的对象