前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java-this关键字

Java-this关键字

作者头像
Fisherman渔夫
发布2019-07-30 17:44:38
3290
发布2019-07-30 17:44:38
举报
文章被收录于专栏:渔夫渔夫
代码语言:javascript
复制
public class TestThis {
int a,b,c;//成员变量abc

TestThis(){//构造无参方法
	System.out.println("Hellow!CSDN!");
}

TestThis(int a,int b){  //局部变量ab,通常没有this下,就近原则,下面单写a就是局部变量
	//Testthis();这样是无法调用构造方法的
	this();//调用无参的构造方法,并且必须位于第一行!
	this.a= a;//这里都是指的局部变量而不是成员变量
	//这样就区分了成员变量和局部变量,这种情况占了this使用情况的大多数!
}

TestThis(int a ,int b,int c){
	this(a,b);//调用带参数的构造方法,并且必须位于第一行!,在一个构造方法中调用另一个构造方法,需用this来调用
	this.c =c;
}

void sing(){
	System.out.println("############");
}
void eat(){
	this.sing();//调用本类中的sing(),去掉this.就sing();也可以完全做到调用类内一般方法
	System.out.println("my name is 李寻欢!");
}
public static void main(String[] args){
	TestThis hi = new TestThis(2,3);
	hi.eat();
}

}
运行结果:

Hellow!CSDN! ############ my name is 李寻欢!

this用法总结: this定义是 为了表示当前类的对象,当前->那我们无需再定义一个对应以便我们调用;对象->表示我们可以引用完全此类中的所有属性、方法。

特别是在我们在一个类里面,自己调用自己的情况时用的就是this.

比如: 1.调用类内部自己属性和一般方法(default:可以不写this,如上例中的sing()) 2.调用构造方法(分为有参和无参构造方法,且必须位于第一行),其构造方法都是用this()来调用的,区别是方法调用的输入参数不同,其会导致调用不同的重载构造方法 3.全局变量和局部变量同名使用this 4.返回this对象 5.this不能用于static方法中

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档