您的位置 首页 java

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

什么是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 + "\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();}}

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 + "\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关键字是什么意思

文章地址:https://www.zhihuclub.com/21829.shtml

关于作者: 智云科技

热门文章

网站地图