Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Person{
- private Fructs fruct;
- public Person eat(Fructs fructs){
- //Apple peeledA = apple.getPeeled();
- //Banana peeledB = banana.getPeeled();
- fruct = Peeler.peel(fructs);
- return this;
- }
- public void Say(){
- String app = "mm, yummy apple";
- String ban = "oh, nice banana";
- if (fruct instanceof Apple) {
- System.out.println(app);
- }
- else {
- System.out.println(ban);
- }
- }
- }
- class Fructs{}
- class Apple extends Fructs{
- public Fructs getPeeled(){return Peeler.peel(this);}
- }
- class Banana extends Fructs{
- public Fructs getPeeled(){return Peeler.peel(this);}
- }
- class Peeler{
- //static Apple peel(Apple apple){return apple;}
- //static Banana peel(Banana banana){return banana;}
- static Fructs peel(Fructs fruct){return fruct;}
- }
- public class PassingThis{
- public static void main(String[] args) {
- Person p = new Person();
- Apple apple = new Apple();
- Banana banana = new Banana();
- p.eat(apple).Say();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment