Java蜘蛛人 歡迎大家

          歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
          posts - 54, comments - 192, trackbacks - 0, articles - 1

          教大家 抽象類........

          Posted on 2007-08-28 01:37 Java蜘蛛人 --鄭成橋 閱讀(218) 評論(0)  編輯  收藏

          把一個事物搞的越不具體 就是越抽象.. 比如一個人的抽象是動物 .再抽象點是哺乳類. ..等等..  定義了一個抽象的父類 里面可以有一些抽象的方法  然后再定義子類來實現這些方法.. 用abstract 來修飾抽象. .
          如  abstract class Test   //定義抽象類
          {
             private String name;
             Test(String n)
              {
                  name=n;
              }

            public  abstract String gethaha();  //定義一個抽象的方法.
          }

          抽象類是不能實例對像的..      可以定義一個抽象類的對象變量,但是他只能引用非抽象子類的對象   如:
           Test a=new Employee("xiaoqiao",9000);

          import java.text.*;
          import java.util.
          *;
          public class PersonTest
          {
              
          public static void main (String[] args) 
              {
                  Person 
          [] staff=new Person[2];
                  staff
          [0]=new Employee("鄭成橋",5000,1989,05,06);   
                  
          //這里注意 Person是抽象的類 不能實例對象,可以定義一個抽象類的對象變量,但是他只能引用非抽象子類的對象
                  staff
          [1]=new Student("哈哈啊","你好嗎");
                  
                  
          for(Person e:staff)
                  {
                      System.out.println(e.getName()
          +"\t"+e.getDescription());
                  }
              }
          }

          abstract class Person  
          //定義一個抽象的類
          {
              private String name;
              
          public Person(String n)
              {
                  name
          =n;
              }
              
          public abstract String getDescription();//定義一個抽象的方法
              
          public String getName()
              {
                  
          return name;
              }

          }
          class Employee extends Person   
          //Employee實現這個抽象的類
          {
              private 
          double salary;
              private Date hireDay;
              
          public Employee(String n,double s,int year,int month,int day)
              {
                  super(n); 
                  salary
          =s;
                  GregorianCalendar calendar 
          =new GregorianCalendar(year,month -1,day);
                  hireDay
          =calendar.getTime();
              }
              
          public double getSalary()
              {
                      
          return salary;
              }
              
          public Date getHireDay()
              {
                  
          return hireDay;
              }
              
          public String getDescription()
              {
                  
          return String.format("an employee with a salary of $%.2f",salary);
              }
              
          public void raiseSalary(double byPercent)
              {
                  
          double raise=salary*byPercent/100;
                  salary
          +=raise;
              }
          }
          class Student extends Person
          {
              private String major;
              
          public Student(String n,String s)
              {
                  super(n);
                  major
          =s;
              }
              
          public String getDescription()
              {
                  
          return "a student majoring in"+major;
              }
              
          }


                                                                                                   __作者: 鄭成橋

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


          網站導航:
           
          主站蜘蛛池模板: 青海省| 濉溪县| 女性| 老河口市| 盘锦市| 昌都县| 曲阜市| 伽师县| 鹿邑县| 兰州市| 类乌齐县| 平山县| 文化| 平定县| 松原市| 交城县| 南和县| 垣曲县| 靖州| 若羌县| 囊谦县| 阿克苏市| 镇康县| 遂昌县| 苏尼特左旗| 金华市| 宾川县| 淮南市| 澳门| 惠水县| 雅江县| 长子县| 惠安县| 马关县| 武川县| 山西省| 肇源县| 凤城市| 淳安县| 普兰店市| 九江县|