打字猴:1.700453591e+09
1700453591
1700453592 //枪
1700453593
1700453594 interface Gun{
1700453595
1700453596 //枪用来干什么的?射击杀戮!
1700453597
1700453598 public void shoot();
1700453599
1700453600 }
1700453601
1700453602 //手枪
1700453603
1700453604 class Handgun implements Gun{
1700453605
1700453606 @Override
1700453607
1700453608 public void shoot(){
1700453609
1700453610 System.out.println(“手枪射击……”);
1700453611
1700453612 }
1700453613
1700453614 }
1700453615
1700453616 //玩具枪
1700453617
1700453618 class ToyGun implements Gun{
1700453619
1700453620 @Override
1700453621
1700453622 public void shoot(){
1700453623
1700453624 //玩具枪不能射击,这个方法就不实现了
1700453625
1700453626 }
1700453627
1700453628 }
1700453629
1700453630 上面定义了两种类型的枪支:手枪和玩具枪,手枪可以用来射击敌人(shoot方法),但玩具枪就完全不同了,它不能用来射击,只是一个虚假的玩具而已,如果我们在要求使用枪支的地方传递了玩具枪会出现什么问题呢?代码如下:
1700453631
1700453632 public static void main(String[]args){
1700453633
1700453634 Gun gun=new Handgun();
1700453635
1700453636 gun.shoot();
1700453637
1700453638 }
1700453639
1700453640 此处是一个手枪,用来射击,如果使用了子类型ToyGun,士兵将会拿着玩具枪来杀人,可是射不出子弹呀!如果在CS游戏中有这种事情发生,那就等着被人爆头,然后看着自己凄凉的倒地。
[ 上一页 ]  [ :1.700453591e+09 ]  [ 下一页 ]