站长资讯网
最全最丰富的资讯网站

java中什么是this

java中什么是this

this关键字是什么?

关键字this只能在方法内部使用,表示对当前对象的引用。

this关键字的用法

1、访问成员变量,区分成员变量和局部变量

2、访问成员方法

3、访问构造方法

4、返回对当前对象的引用

5、将对当前对象的引用作为参数传递给其他方法

用法如下:Test0505.java

class Person{ 	private String name;//成员变量 	private int age; 	Person(){} 	Person(String name){//局部变量 		this.name=name;//1.用"this.成员变量名称"和重名的局部变量区分开来 	} 	Person(String name,int age){ 		this(name); 		this.age=age; 	} 	String getInfo(){//成员方法 		return "姓名:" + name + "n年龄:" + age; 	} 	void print(){ 		System.out.println(this.getInfo());//2.用"this.成员方法名"访问成员方法。 		System.out.println(getInfo());//这种情况this关键字一般不写,让编译器自动添加。 	} } public class Test0505{ 	public static void main(String[] args){ 		Person p=new Person("张三",33); 		p.print(); 	} }
class Person{ 	private String name; 	private int age; 	Person(){} 	Person(String name){//不含this()的构造方法 		this.name=name; 	} 	Person(String name,int age){//在构造方法内调用另一个构造方法 		this(name);//3."this();"访问构造方法必须放在构造方法的第一行 		this.age=age; 	} 	String getInfo(){ 		return "姓名:" + name + "n年龄:" + age; 	} 	void print(){ 		System.out.println(this.getInfo()); 	} } public class Test0505{ 	public static void main(String[] args){ 		Person p=new Person("张三",33); 		p.print(); 	} }
class Leaf{ 	private int i=0; 	Leaf increment(){ 		i++; 		return this;//4.返回对当前对象的引用。 	} 	void print(){ 		System.out.println("i="+i); 	} } public class Test0505{ 	public static void main(String[] args){ 		Leaf x=new Leaf(); 		x.increment().increment().increment().print(); 	} }
class Person{ 	void eat(Apple apple){ 		Apple peeled=apple.getPeeled(); 		System.out.println(peeled); 	} } class Apple{ 	Apple getPeeled(){ 		System.out.println(this);//输出对当前对象的引用。 		return Peeler.peel(this);//5.将对当前对象的引用作为参数传递给其他方法。 	} } class Peeler{ 	static Apple peel(Apple apple){ 		return apple; 	} } public class Test0505{ 	public static void main(String[] args){ 		Apple a=new Apple(); 		System.out.println(a); 		new Person().eat(a); 	} }

推荐教程:java快速入门

赞(0)
分享到: 更多 (0)

网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号