为了账号安全,请及时绑定邮箱和手机立即绑定

谁能告诉我圣经第85页那段是什么意思

谁能告诉我圣经第85页那段是什么意思

bug侠 2017-11-08 08:21:28
//出自Thinking in Java 4 //它是如何调用的?参数是如何传递的? //这Apple哪来的?不是应该是int chat String之类的吗 class Person {   public void eat(Apple apple) {     Apple peeled = apple.getPeeled();     System.out.println("Yummy");   } } class Peeler {   static Apple peel(Apple apple) {     return apple;   } } class Apple {   Apple getPeeled() {    return Peeler.peel(this);     } } public class PassingThis {   public static void main(String[] args) {     new Person().eat(new Apple());   } }
查看完整描述

3 回答

?
sanlelele

TA贡献8条经验 获得超3个赞

//这里出现的apple ↑↑↑↑
class Apple {
  Apple getPeeled() {
  //这里的this代指本类,就是这个apple类
   return Peeler.peel(this); 
   }
}
//申请一个类型为apple的变量名字叫做peeled
//由于etPeeled()方法是静态的,所以可以直接由类名调用.
Apple peeled = apple.getPeeled();


查看完整回答
1 反对 回复 2017-11-08
?
bug侠

TA贡献2条经验 获得超0个赞

感谢2位
但是我最后还是靠输出它们的值才知道这程序到底是怎么运作的
peeled和apple和peeler.peel(this)都是指向同一个内存地址的

查看完整回答
反对 回复 2017-11-09
?
bug侠

TA贡献2条经验 获得超0个赞

还有那个this是指哪个参数
这个程序的执行顺序根本摸不透啊
各种返回,各种对象,各种参数

查看完整回答
反对 回复 2017-11-08
  • 3 回答
  • 0 关注
  • 2064 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信