20220722-Java中this关键字

this关键字知识总结

学习资源:B站韩顺平老师Java入门教学

代码示例1

public class This01 {
public static void main(String[] args) {
Dog d1 = new Dog("小黄", 3);
d1.info();
System.out.println("对象d1的hashcode=:" + d1.hashCode());
System.out.println("---------------");
Dog d2 = new Dog("小花", 2);
d2.info();
System.out.println("对象d2的hashcode=:" + d2.hashCode());
}
}
class Dog {
int age;
String name;
// 根据变量的作用域原则,方法中的name与age实际指的是局部变量而不是成员变量
// public Dog(String name, int age) {
// name = name;
// age = age;
// }
// java虚拟机会给每个对象分配this,代表当前对象
public Dog(String name, int age) {
this.name = name;
this.age = age;
System.out.println("构造器中:this.hashcode=:" + this.hashCode());
}
public void info() {
System.out.println("狗狗名字叫:" + this.name + "\n年龄:" + this.age);
System.out.println("成员方法中:this.hashcode=:" + this.hashCode());
}
}

代码示例2

public class ThisDetail {
public static void main(String[] args) {
T t1 = new T();
t1.f2();
System.out.println("---------------");
T t2 = new T(10);
System.out.println("---------------");
T t3 = new T("小明", 10);
System.out.println(t1.name + "==" + t1.age);
System.out.println(t2.name + "==" + t2.age);
System.out.println(t3.name + "==" + t3.age);
}
}
class T {
int age;
String name;
// 细节1:访问成员方法的语法:this.方法名(参数列表);
public void f1() {
System.out.println("f1()方法..");
}
public void f2() {
System.out.println("f2()方法..");
// 在f2()中调用f1()
// 第一种方法
f1();
// 第二种方法
this.f1();
}
// 细节2:调用构造器语法:this(参数列表); 只能在构造器中使用,只能放在构造器的首句
T() {
this.name = "小李";
this.age = 18;
System.out.println("调用构造器1");
}
T(int age) {
this();
this.age = age;
System.out.println("调用构造器2");
}
T(String name, int age) {
this(age);
this.name = name;
System.out.println("调用构造器3");
}
}

注意事项与使用细节

  1. this关键字可以用来访问本类的属性、方法、构造器;
  2. this用于区分当前类的属性和局部变量;
  3. 访问成员方法的语法:this.方法名(参数列表);
  4. 访问构造器语法:this(参数列表); 注意:只能在构造器中使用,且需要为构造器中的首行;
  5. this不能在类定义的外部使用,只能在类定义的方法中使用
posted @   淡忘的江南  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示