java中this的含义_java中的this关键字是什么意思

bd482534cda49af9678ead7ac927f99f.png

什么是this?

this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

用法如下:

用"this.成员变量名称"和重名的局部变量区分开来;

用"this.成员方法名"访问成员方法。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 + "

年龄:" + 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();

}

}

this()访问构造方法必须放在构造方法的第一行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 + "

年龄:" + 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值