转载于: http://www.verejava.com/?id=16992846385655 ,
<前>/* * 题目:孩子吃,水果(苹果、葡萄,芒果,菠萝) 思路: 1只抽象出类,:,孩子(婴儿),水果(水果)(苹果(苹果),葡萄(葡萄),芒果(芒果)) 2只找出类的关系:,水果,→,孩子,,,(苹果、葡萄,芒果),是,水果的分类 3只找出属性:孩子(姓,名水果引用),, 4只找出方法:孩子吃(吃)水果 子类→父类的转换,作用,:解耦,也就是降低类与类之间的耦合度,提供可扩展性 */public class Polymorphism3  { public static  void main (String [], args),{//实例化一个婴儿 Baby Baby =, new 婴儿(“李明“);//实例化一个苹果,和,一个葡萄 Apple Apple =, new 苹果(“红富士“); Grape Grape =, new 葡萄(“黑葡萄“); Mango Mango =, new 芒果(“大芒果“); PineApple PineApple =, new 菠萝(“菠萝“);//李明吃苹果 baby.eat(苹果); System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ()); baby.eat(葡萄); System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ()); baby.eat(芒果); System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ()); baby.eat(菠萝); System.out.println (baby.getName(), +,,,吃了,,,+,baby.getFruit () . getname ()); } }class Baby  {private Fruit 水果;private String 名称;public 婴儿(String 名称),{this.name =,名称; }public String  getName (), {return this.name; }public Fruit  getFruit (), {return this.fruit; }//吃水果 public void 吃(Fruit 水果),{this.fruit =,水果; } }class Fruit  { private String 名称;public 水果(String 名称),{this.name =,名称; }public String  getName (), {return this.name; } }class PineApple  extends Fruit  { public 菠萝(String 名称),{超级(名称); } }class Apple  extends Fruit  { public 苹果(String 名称),{超级(名称); } }class Grape  extends Fruit  { public 葡萄(String 名称),{超级(名称); } }class Mango  extends Fruit  { public 芒果(String 名称),{超级(名称); } } >之前转载于: http://www.verejava.com/?id=16992846385655 ,