Mega Code Archive

 
Categories / Java Tutorial / Design Pattern
 

State

interface Animal {   String talk(); } class Frog implements Animal {   public String talk() {     return "ggg!";   } } class Cat implements Animal {   public String talk() {     return "miao";   } } class Creature {   private Animal state = new Frog();   public void greet() {     System.out.println(state.talk());   }   public void toCat() {     state = new Cat();   } } public class MainClass {   public static void main(String args[]) {     Creature creature = new Creature();     creature.greet();     creature.toCat();     creature.greet();   } }