JAVA封装——“this“关键字的用法

本文详细探讨了JAVA中的'this'关键字,包括它如何代表对象引用,作为变量的角色,解决方法中成员变量与形参同名冲突,以及在构造方法之间的调用。了解这些将有助于提升JAVA编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在类的方法中,使用this关键字代表的是调用此方法的对象的引用;如下例子中,也就是在类中调用this.age,就相当于调用stu.age

class Student{
	int age;
	void printage(){
		System.out.println(this.age);
	}
}
public class This{
	public static void main(String[] args){
		Student stu=new Student();
		stu.age=18;
		stu.printage();
	}
}
// 18

2.this可以看作一个变量,它的值是当前对象的引用

class Student{
	int age;
	void printAge(){	
		System.out.println(this.age);
	}
	void newObject(){
		Student stu2=null;	//新实例化一个对象stu2
		stu2=this;			//stu2等于当前对象的引用,stu2就跟stu1是同一个东西
		stu2.printAge();
	}
}
public class This{
	public static void main(String[] args){
		Student stu1=new Student();
		stu.age=18;
		stu1.newObject();
	}
}
//18

3.this方法可以用于区分方法中的成员变量和形参同名问题(常用)

class Student{
	int age;
	String name;
	
	Student(int age,String name){
		this.age=age;//形参与成员变量同名,age=age? no no no! this.age=age;
		this.name=name;
	}
	void printAgeName(){	
		System.out.println("name:"+name+"\nage:"+age);
	}
	void newObject(){
		Student stu2=null;
		stu2=this;
	}
}
public class This{
	public static void main(String[] args){
		Student stu1=new Student(18,"小明");
		stu1.printAgeName();
	}
}

4.在一个构造方法中调用另一个构造方法(常用)

class Student{
	int age;
	String name;
	String sex;

	Student(String name){
		this.name=name;
		System.out.println("第一个构造方法\nname="+this.name);
	}
	Student(String name,int age){
		this.age=age;
		this.name=name;
	}
	Student(String name,int age,String sex){
		this("小红");//在参数个数为3的构造方法中调用参数个数为1的构造方法,
					//注意!!!!!!只能在最前面一排调用,所以也只能调用一个构造方法.
		this.age=age;
		this.name=name;
		this.sex=sex;
	}
	void information(){
		System.out.println("name:"+name+"\nage:"+age+"\nsex:"+sex);
	}
}
public class This{
	public static void main(String[] args){
		Student stu1=new Student("小明",18,"男");
		stu1.information();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值