2015-09-12 38 views
-5

解釋我的方法的代碼,這構造函數和方法在程序中使用didnt understandble

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()); 
    } 
    } 
+0

你想要解釋什麼? – jklsfdgs

+2

你不明白哪一行? –

+0

解釋程序 –

回答

1

好了,這似乎是一個類的介紹對來排序的過程。這是什麼程序的作用是通過主要方法輸入:

public class PassingThis { 
    public static void main(String[] args) { 
     new Person().eat(new Apple()); 
    } 
} 

這將創建Person類的一個新實例,調用此構造:

class Person { 
    public void eat(Apple apple) { 
     Apple peeled = apple.getPeeled(); 
     System.out.println("Yummy"); 
    } 
} 

此構造需要Apple類的一個實例,那麼它通過創建它的新實例來調用(new Apple()

該構造函數內部通過調用getPeeled()方法創建Apple類的新實例。

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

這就造成了Peeler類返回蘋果的新實例。 Peeler課程將現在的「已剝皮」蘋果返回給人員班級,然後打印出「美味」

+0

1)什麼是apple.getPeeled() –

+0

apple.getPeeled()返回方法Peel(蘋果蘋果)的結果,它在此不做任何事情,所以它基本上只是返回自己。 – jklsfdgs

+0

1)什麼是佩爾2)在這個程序吃metod權利 –

相關問題