數(shù)據(jù)加載中……
          java的動態(tài)多態(tài)
          /**
           * 通過本程序的測試,主要學(xué)習(xí)抽象類及子類,抽象方法的實現(xiàn)
           * 動態(tài)綁定,多態(tài)
           
          */

           
          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();
          }


          /**
           * 工人類,擴(kuò)展了抽象類,并實現(xiàn)了抽象方法
           
          */

          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);
              }

          }


          /**
           * 學(xué)生類,擴(kuò)展了抽象類,實現(xiàn)了抽象方法
           
          */

          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)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 赫章县| 健康| 易门县| 湘西| 丹巴县| 靖江市| 铁岭市| 资中县| 隆德县| 哈密市| 黄山市| 荃湾区| 鄱阳县| 资兴市| 辉县市| 确山县| 米易县| 神池县| 密云县| 棋牌| 青海省| 北流市| 枝江市| 乾安县| 隆尧县| 巴南区| 贡觉县| 光山县| 桐庐县| 马关县| 故城县| 南部县| 游戏| 永州市| 刚察县| 循化| 金秀| 石楼县| 会昌县| 咸丰县| 兴义市|