java技術博客

          jsp博客
          數據加載中……
          java的動態多態
          /**
           * 通過本程序的測試,主要學習抽象類及子類,抽象方法的實現
           * 動態綁定,多態
           
          */

           
          import java.text.NumberFormat;

          public class AbstractTest
          {
              
          public static void main(String[] args)
              
          {
                  Person[] p 
          = new Person[2];
                  p[
          0= new Worker("Jack"1000);
                  p[
          1= new Student("Tom""Computer");
                  
                  
          for(int i = 0; i < p.length; i++)
                  
          {
                      Person people 
          = p[i];
                      System.out.println(people.getDescription());
                  }

              }

          }


          /**
           * 抽象類
           
          */

          abstract class Person
          {
              
          private String strName;

              
          public Person(String strName)
              
          {
                  
          this.strName = strName;
              }


              
          public String getName()
              
          {
                  
          return strName;
              }


              
          //抽象方法,返回人的描述
              public abstract String getDescription();
          }


          /**
           * 工人類,擴展了抽象類,并實現了抽象方法
           
          */

          class Worker extends Person
          {
              
          private double salary;
              
              
          public Worker(String strName, double s)
              
          {
                  
          super(strName);
                  salary 
          = s;
              }

              
              
          public String getDescription()
              
          {
                  NumberFormat formate 
          = NumberFormat.getCurrencyInstance();
                  
          return "the worker with a salary of " + formate.format(salary);
              }

          }


          /**
           * 學生類,擴展了抽象類,實現了抽象方法
           
          */

          class Student extends Person
          {
              
          private String strMajor;
              
              
          public Student(String strName, String strMajor)
              
          {
                  
          super(strName);
                  
          this.strMajor = strMajor;
              }

              
              
          public String getDescription()
              
          {
                  
          return "the student majoring in " + strMajor;
              }

          }

          posted on 2008-11-07 16:31 郭興華 閱讀(280) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 保靖县| 霞浦县| 荣昌县| 庆城县| 千阳县| 大丰市| 天全县| 江都市| 鹰潭市| 汶上县| 乳山市| 宿州市| 东台市| 偏关县| 三明市| 南昌市| 天门市| 沾化县| 苏尼特右旗| 新乐市| 宁明县| 衡南县| 清河县| 贡嘎县| 嘉定区| 普格县| 正蓝旗| 大姚县| 沧州市| 衡阳县| 镇坪县| 大城县| 石渠县| 澄城县| 岢岚县| 左云县| 建湖县| 望城县| 曲阜市| 云安县| 凭祥市|