登录  /  注册
首页 > Java > Java基础 > 正文

java中什么是this

王林
发布: 2019-11-20 11:45:28
原创
5367人浏览过

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快速入门

以上就是java中什么是this的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号