今日课堂回顾

 1 package com.work;
 2 
 3 public class father {
 4     
 5     private String name;
 6     private int age;
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19     
20 //    public Father()
21 //    {
22 //        System.out.println("父类的构造方法");
23 //    }
24     public father (String name)
25     {
26         System.out.println("父类的有参的构造方法");
27         this.name = name;
28     }
29     //工作
30     public void work()
31     {
32         System.out.println("我劳动我光荣");
33     }
34 }

 

 1 package com.work;
 2 
 3 public class Son extends father { 
 4     //Object a;所有类的父类
 5     
 6     public Son()
 7     {
 8         //super 表示父类
 9         super("儿子");
10         System.out.println("子类的构造方法");
11     }
12     public void sing()
13     {
14         System.out.println("我喜欢唱歌");
15     }
16     //覆盖(重写)
17     public void work()
18     {
19         //调用父类的方法
20         //super.work();
21         //System.out.println("我不喜欢上班,我要去参加海选");
22         System.out.println("我边上班边练歌");
23     }
24     public static Object getData(int i)
25     {
26         Object rtn = null;
27         //获取数据
28         if (i==1)
29         {
30         //1 father
31         father f = new father("向上转型的父类");
32         //向上转型
33         rtn = f;        
34         }
35         else
36         {
37         //2 son
38         Son s = new Son();
39         rtn = s;
40         }
41         return rtn;
42     }
43 }

 

 1 package com.work;
 2 
 3 public class testjicheng {
 4 
 5     public static void main(String[] args) {
 6         // 
 7     father f = new father("父亲");
 8     
 9     f.setName("父亲");
10     
11     f.setAge(50);
12     
13     System.out.println("名字是:"+f.getName()+"  年龄是:"+f.getAge());
14     
15     f.work();
16     
17     Son s = new Son();
18     
19     s.setName("儿子");
20     
21     s.setAge(20);
22     
23     System.out.println("名字是:"+s.getName()+"  年龄是:"+s.getAge());
24     
25     s.work();
26     
27     s.sing();
28         
29     System.out.println();
30         
31     //转型
32     
33     //向上转型   子类转成父类
34     
35     father f1 = new Son();
36     
37     System.out.println("名字是:"+s.getName());
38     
39     f1.work(); //如果被子类重写了,调用子类的方法
40     
41     System.out.println("向下转型");
42     
43     //向下转型  父类转成子类
44     
45     //Son s1 = (Son) new Father("父亲");
46     
47     Son s1 = (Son) f1;
48     
49     s1.work();
50         
51     System.out.println();
52         
53     father f2 = (father)Son.getData(1);
54     
55     f2.work();
56     }
57 }

 

posted @ 2016-03-08 19:20  宫崎天川  阅读(173)  评论(0编辑  收藏  举报