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 郭興華 閱讀(281) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 彭水| 乌拉特前旗| 海丰县| 通河县| 德保县| 凤台县| 广元市| 南皮县| 白山市| 东兰县| 平定县| 乌审旗| 巢湖市| 贡嘎县| 奇台县| 承德市| 吉木萨尔县| 呼伦贝尔市| 儋州市| 濮阳市| 大丰市| 西盟| 九龙坡区| 通江县| 呼和浩特市| 西贡区| 博白县| 鹤岗市| 古浪县| 巫山县| 故城县| 嘉祥县| 建平县| 彰化县| 宿迁市| 蓬莱市| 汉阴县| 额济纳旗| 尤溪县| 汝州市| 靖远县|