Java蜘蛛人 歡迎大家

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

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

          Posted on 2007-08-28 01:37 Java蜘蛛人 --鄭成橋 閱讀(217) 評論(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;
              }
              
          }


                                                                                                   __作者: 鄭成橋

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


          網站導航:
           
          主站蜘蛛池模板: 嘉黎县| 巴塘县| 新营市| 汉阴县| 厦门市| 镇巴县| 北票市| 鸡东县| 宁明县| 大竹县| 河源市| 井冈山市| 呼玛县| 山阳县| 东乡县| 奉贤区| 裕民县| 津市市| 油尖旺区| 泰和县| 双柏县| 右玉县| 玉环县| 弥渡县| 阜平县| 宜丰县| 孝昌县| 江陵县| 西昌市| 隆安县| 九龙县| 湄潭县| 甘泉县| 贞丰县| 淮阳县| 建宁县| 司法| 仁布县| 荥阳市| 武川县| 山阴县|