如题

解决方案 »

  1.   

    class A{
     public String str="test";
     public void setStr(){
        this.str="bbb";
     }
    };
    A a;
    a.setStr();
    // A a就表示生成A的一个对像,setStr()中的this就代表的是a这个对像本身,就相当于是a这个对像的别名,
    //与a指向的是同一个内容
      

  2.   


    public class A {
        public void test() {
            this.print();
        }
        private void print() {
            System.out.println("abc");
        }
        public static void main(String[] args) {
            A a = new A();
            a.test(); // 那句话在我看来的理解就是: 在此时, test方法里面的this关键字就表示的是代表类A的对象变量a.
        }
    }
      

  3.   

    this指的就是当前对象(即代表它自身的对象变量),可以代表当前方法或者是数据成员。
     private int a=2;
      
      public void fun(){ 
      this.a=3;//这里的this变量就获得一个代表它自身的对象变量,相当于获得变量a,然后重赋值
      System.out.println(a);
      }
      

  4.   

    public class A {
        String name;
        public void setName(String name) {
            this.name=name;
    }
    这里有一个类A,它有一个变量name和一个方法setName()。
    方法的作用是给变量赋值,它也有一个参数name。
    显然,如果不使用this关键字的话,方法中的代码就变成了“name=name“。而明显这样的赋值是有问题的。
    使用关键字this后this.name表示类的变量,等号右边的name表示方法的参数,这样代码就很清晰了。
    当让,如果你能保证不会有重名的现象发生,也可以不用this关键字。不过实际开发中很难保证,而且以后你会发现使用重名的变量,会有很多方便,代码也更易读,也不用为变量不知起什么名而发愁,所以this关键字还是必不可少的。
      

  5.   


    的确,this指的是类的方法与属性。当有局部变量与类的变量重复时,可用this区分。我们在学习jsp里提到了,不过真的谢谢大家给我帮助。