Topic: 关于this的问题

  Print this page

1.关于this的问题 Copy to clipboard
Posted by: 234567890
Posted on: 2005-11-09 11:21

如果一个类a中有方法f(),
如果我在类a中使用调用f()时候,
直接用f()调用和用this.f()有没有区别?

2.Re:关于this的问题 [Re: 234567890] Copy to clipboard
Posted by: oliver456
Posted on: 2005-11-09 13:00

TO 234567890
QUESTION: 直接用f()调用和用this.f()有没有区别?
  ANSWER: no
这是一种隐式的指定this, 显式地指定是可以的.但这没有必要.


显式的使用this关键字,在下面的情况:
(1)在构造函数里,调用本类的构造函数,需使用this:
(2)在实例方法或构造函数中,调用变量(在定义了的局部变量与变量相同的情况下);
(3)在有内部类的时候,也需显式的指定this来调用类中的变量和实例方法.
 下面有个例子说明一下

3.Re:关于this的问题 [Re: 234567890] Copy to clipboard
Posted by: oliver456
Posted on: 2005-11-09 13:40

public class TestThis {
  static int i;
  int j;
  static int k;
  TestThis(){i=0;}
  TestThis(int j,int k){
     this();
   this.j=j;
   this.k=k;
   }
  
  void getJ(){System.out.println("J的值");}
  void getJJ(){this.getJ();}
  public static void main(String[] args)
  { TestThis test =new TestThis(2,3);
    System.out.println("不使用THIS");
  test.getJ();
    System.out.println("使用THIS");
test.getJJ();  
    }
}

4.Re:关于this的问题 [Re: 234567890] Copy to clipboard
Posted by: 234567890
Posted on: 2005-11-11 10:50

谢谢oliver456的说明,这下就清楚多了。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923