this关键字是什么?

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

this关键字的用法

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

2、访问成员方法

立即学习“Java免费学习笔记(深入)”;

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 + "
年龄:" + 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 + "
年龄:" + 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的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部