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


          /**
           * 工人類,擴展了抽象類,并實現(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é)生類,擴展了抽象類,實現(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 郭興華 閱讀(281) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大竹县| 满洲里市| 靖西县| 海盐县| 光泽县| 射阳县| 大兴区| 乌拉特中旗| 启东市| 石渠县| 宜州市| 贵德县| 千阳县| 天镇县| 兴安盟| 海盐县| 辽宁省| 沧州市| 乌鲁木齐县| 绥化市| 林口县| 泾川县| 吴堡县| 新郑市| 奉化市| 府谷县| 栾川县| 青龙| 自治县| 鹿邑县| 嘉义县| 武平县| 读书| 孟州市| 师宗县| 南靖县| 蓝田县| 南投市| 阳城县| 五原县| 济阳县|