var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>

          jutleo
          歡迎走進有風的地方~~
          posts - 63,  comments - 279,  trackbacks - 0
          在實際操作中,多態(tài)可以讓我不用關心某個對象到底是什么具體類型,就可以使用該對象的某些方法,而這些方法通過一個抽象類或者接口來實現(xiàn),多態(tài)就是提供父類調(diào)用子類代碼的一個手段而已
          abstract class Person
          {
              
          private String name;
              
          private int age;
              Person(String name,
          int age)
              
          {
                  
          this.name = name;
                  
          this.age = age;
              }

              
              
          abstract void say();
          }


          class Student extends Person
          {
              Student(String name,
          int age)
              
          {
                  
          super(name,age);
              }

              
          public void say()
              
          {
                  System.out.println(
          "I'am a Student");
              }

          }


          class Teacher extends Person
          {
              
          private String profession;
              Teacher(String name,
          int age,String profession)
              
          {
                  
          super(name,age);
                  
          this.profession = profession;
              }

              
          public void say()
              
          {
                  System.out.println(
          "I'am a Teacher");
              }

          }


          class School
          {
              
          private String schoolname;
              
          private Person person;
              School(String schoolname,Person person)
              
          {
                  
          this.schoolname = schoolname;
                  
          this.person = person;
              }

              
          public void foundPerson()
              
          {
                  person.say();
              }

          }


          public class TestPolymoph 
          {
              
          public static void main(String[] args) 
              
          {
                  Student studnet 
          = new Student("lisi",21);
                  Teacher teacher 
          = new Teacher("dudu",29,"maths");
                  School school1 
          = new School("changning",studnet);
                  School school2 
          = new School("changning",teacher);
                  school1.foundPerson();
          //I'am a Student
                  school2.foundPerson();//I'am a Teacher
              }

          }
          School方法傳遞了抽象類Person,具體調(diào)用時是根據(jù)具體的實際實例化的對象調(diào)用對應的方法
          posted on 2007-12-03 11:26 凌晨風 閱讀(1673) 評論(2)  編輯  收藏 所屬分類: Java學習筆記

          FeedBack:
          # re: Java中的多態(tài)
          2007-12-03 12:54 | 專注java開源
          收藏~  回復  更多評論
            
          # re: Java中的多態(tài)[未登錄]
          2007-12-04 11:17 | Thinker
          準確的說,Student和Teacher并不能成為Person的子類。  回復  更多評論
            

          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(11)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          收藏夾

          圍脖

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江达县| 台东市| 珠海市| 新兴县| 杭锦旗| 高要市| 揭东县| 加查县| 尼木县| 南阳市| 安阳县| 杭州市| 松桃| 神木县| 岑巩县| 于都县| 勃利县| 麻栗坡县| 中方县| 白山市| 洛南县| 正蓝旗| 宾川县| 东乌珠穆沁旗| 八宿县| 博客| 广昌县| 沂源县| 贵港市| 黄平县| 镇康县| 麟游县| 盐池县| 华池县| 古交市| 伊宁市| 乌鲁木齐市| 长汀县| 黎川县| 印江| 马龙县|