1 package pet_2;
2
3 public class Pet {
4 private String name;
5
6 public String getName() {
7 return name;
8 }
9
10 public void setName(String name) {
11 this.name = name;
12 }
13 }
14
15
16 package pet_2;
17
18 public class Dog extends Pet {
19
20 public void play() {
21 System.out.println("狗玩盘子");
22 }
23 }
24
25
26 package pet_2;
27
28 public class Cat extends Pet {
29
30 public void play() {
31 System.out.println("猫抓老鼠");
32 }
33 }
34
35
36 package pet_2;
37
38 public class Master {
39 public static Pet getPet(int typeid) {//静态方法可以直接类名调用,无需实例化一个对象
40 Pet pet=null;
41 if(typeid==1) {
42 pet=new Cat();//or Cat cat=new Cat();
43 }else if(typeid==2) {
44 Dog dog=new Dog();
45 pet=dog;
46 }
47
48 return pet;
49 }
50
51 public void play(Pet pet) {
52 //if(如果pet是dog) instanceof
53 if(pet instanceof Dog) {
54 Dog dog=(Dog)pet;
55 dog.play();
56 }
57 if(pet instanceof Cat) {
58 Cat cat=(Cat)pet;
59 cat.play();
60 }
61 }
62 }
63
64
65 package pet_2;
66
67 public class Mastertest {
68
69 public static void main(String[] args) {
70 Master master=new Master();
71 //Pet dog =new Dog();
72 Pet dog=Master.getPet(2);
73 master.play(dog);
74 }
75
76 }

最新文章

  1. log4j使用--http://www.cnblogs.com/eflylab/archive/2007/01/11/618001.html
  2. 运行时报错:java.net.BindException: Address already in use: JVM_Bind <null>:8080 (或8009或8005)
  3. MySQL 慢查询日志分析及可视化结果
  4. [转][译]关于CSS中的float和position和z-index
  5. asp.net(c#)将彩色图片变灰阶图片
  6. 构造方法 static 块 {}块 执行顺序
  7. typeid详解
  8. adding validation annotators to model classes 在linq to EntityFrame的Model中添加前台验证validation annotators
  9. IOS开发使用YiRefresh进行刷新
  10. 规范 : Sql statusEnum
  11. 【Android Developers Training】 2. 运行你的应用
  12. SSH中的免password登录
  13. TensorFlow使用GPU
  14. (七) Keras 绘制网络结构和cpu,gpu切换
  15. css子元素添加绝对定位,不添加top、left会有影响吗???
  16. Javascript高级编程学习笔记(80)—— 表单(8)表单序列化
  17. 激活函数的比较,sigmoid,tanh,relu
  18. jquery 圆形进度条
  19. 【转】32位和64位系统区别及int字节数
  20. [图床神器]Windows下的图片上传工具MPic

热门文章

  1. 一篇搞定Java集合类原理
  2. [Luogu P2387] [NOI2014]魔法森林 (LCT维护边权)
  3. 辨析:IIR(Infinite Impulse Response)与FIR(Finite Impulse Response)
  4. Java_基础(一)
  5. CSS三大特性及权重叠加
  6. 咀嚼Lock和Synchronized锁
  7. 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令包括 mov ax,4c00h 和 int 21h
  8. java类学习
  9. 掉电后osdmap丢失无法启动osd的解决方案
  10. 利用火焰图分析ceph pg分布