this代表什么

就在附近 2013-03-30 07:35:47
this代表什么
class Person {
public void eat(Apple apple) {
Apple peeled = apple.getPeeled();
System.out.println("Yummy");
}
}

class Peeler {
static Apple peel(Apple apple) {
// ... remove peel
return apple; // Peeled
}
}

class Apple {
Apple getPeeled() { return Peeler.peel(this); }
}

public class PassingThis {
public static void main(String[] args) {
new Person().eat(new Apple());
}
}
...全文
328 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujun3512159 2013-03-31
  • 打赏
  • 举报
回复
当前对象呀,呵呵。
  • 打赏
  • 举报
回复
引用 8 楼 kiritor 的回复:
有一种情况是你希望在一个对象的方法的内部获得其 引用,这个引用是由编译器“偷偷的”传入的,没有标识符 就是用this关键字表示。 this只能在方法内部使用,表示对“调用该方法的那个对象”的引用。
说的很明白
菜鸟级高手 2013-03-31
  • 打赏
  • 举报
回复
this指的是当前对象 这里应该是Apple的一个实例吧,返回值也是Apple..
微观技术 2013-03-31
  • 打赏
  • 举报
回复
this表示当前的类或者对象
LCore 2013-03-31
  • 打赏
  • 举报
回复
有一种情况是你希望在一个对象的方法的内部获得其 引用,这个引用是由编译器“偷偷的”传入的,没有标识符 就是用this关键字表示。 this只能在方法内部使用,表示对“调用该方法的那个对象”的引用。
Candylibin 2013-03-31
  • 打赏
  • 举报
回复
//简单的说哪个对象调用了this所在的函数,this就代表哪个对象,

例子:class A
              private int num
          A(int num)
           this.num = num

    class B

A a = new A()
a.num=?;这时,this就代表a
xiaobangsky 2013-03-31
  • 打赏
  • 举报
回复
this代表的是你的当前对象。
  • 打赏
  • 举报
回复
类加载时 没new时还没有对象 this就是说的未来的那个对象
齐岳 2013-03-30
  • 打赏
  • 举报
回复
就是那个new Apple()。
Bettygonna 2013-03-30
  • 打赏
  • 举报
回复
在定义中,,this代表调用该类的对象,也就是在主函数中调用apple的 new Person().eat(new Apple());语句就是new的那个apple()对象。
A18767101172 2013-03-30
  • 打赏
  • 举报
回复
楼上说的很好
yongger520 2013-03-30
  • 打赏
  • 举报
回复
class Apple { Apple getPeeled() { return Peeler.peel(this); } } this 是指Apple对象本身 Apple a = new Apple(); 这个时候如何执行下面的语句 a.getPeeled(); 效果是这样的 return Peeler.peel(a);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧