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

//出自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());
  }
}


bug侠
浏览 2100回答 3
3回答

sanlelele

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

bug侠

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

bug侠

还有那个this是指哪个参数 这个程序的执行顺序根本摸不透啊 各种返回,各种对象,各种参数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java