细节:

  1. this关键字可以用来访问本类的属性,方法,构造器。
  2. this用来区分当前类的属性和局部变量。
  3. 访问成员方法的语句:this.方法名(参数列表)
  4. 访问构造器语法:this(参数列表);
  • 注意:只能在构造器中使用。(即只能在构造器中访问另外一个构造器)
  • 注意:访问构造器语法:this(参数列表)必须放在第一条语句
  • (上句中暗含了只能使用一次,因为第二次使用该语句必不在第一条语句)
  1. this不能在类定义的外部使用,只能在类定义的方法中使用。

    代码演示:

    1. public class Main {
    2. public static void main(String[] args) {
    3. T t = new T();
    4. t.f2();
    5. t.f3();
    6. }
    7. }
    8. class T{
    9. String name = "abc";
    10. int age = 111;
    11. /* 访问构造器语法:this(参数列表);
    12. * 注意:只能在构造器中使用。(即只能在构造器中访问另外一个构造器)
    13. * 注意:访问构造器语法:this(参数列表)必须放在第一条语句
    14. */
    15. public T(){
    16. //在这里访问 T(String name, int age)
    17. this("wty",19);
    18. System.out.println("T()无参构造器调用");
    19. }
    20. public T(String name, int age){
    21. System.out.println("T(String name, int age)造器调用");
    22. }
    23. //访问成员方法的语句:this.方法名(参数列表)
    24. public void f1(){
    25. System.out.println("f1()方法……");
    26. }
    27. public void f2(){
    28. System.out.println("f2()方法……");
    29. //调用本类的f1()方法
    30. //方法一:
    31. f1();
    32. //方法二:
    33. this.f1();
    34. }
    35. //this关键字可以用来访问本类的属性
    36. public void f3(){
    37. String name = "局部优先";
    38. //传统方式(局部变量优先)
    39. System.out.println("name = " + name + " age = " + age);
    40. //也可以通过this访问属性
    41. System.out.println("this.name = " + this.name + " this.age = " + this.age);
    42. }
    43. }

    image.png