百木园-与人分享,
就是让自己快乐。

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不能在类定义的外部使用,只能在类定义的方法中使用

来源:https://www.cnblogs.com/zhanghuaze/p/16506098.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 20220722-Java中this关键字

相关推荐

  • 暂无文章