<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java蜘蛛人 歡迎大家

    歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
    posts - 54, comments - 192, trackbacks - 0, articles - 1
     1
     2import java.util.*;
     3public class ManagerTest
     4{
     5    public static void main (String[] args) 
     6    {
     7        Manager boss=new Manager("xiaoqiao",8000,1989,04,11);
     8        boss.SetBonus(5000);
     9        Employee [] staff=new Employee[3];
    10        staff[0]=boss;   //父類 可以被子類轉換 .... 但是子類 不能被父類轉換.
    11        staff[1]=new Employee("dddd",5000,1989,10,12);
    12        staff[2]=new Employee("aaaaa",4000,1988,11,12);

                 if(staff[1] instanceof Manager)  //staff[1] 能不能 (instanceof)轉換為: Manager
                     /* 我試圖把staff[1]轉換為Manager 但是失敗了 */
                   {
                       Manager aa=(Manager)staff[1];
                   }
             else
               {
                 System.out.println("不能裝換");
                }


    13        
    14        for(Employee e:staff)
    15        System.out.println("mingzi \t"+e.getName()+"\t gongzi \t"+e.getSalary()+"\t shengri \t"+e.getHrireDay());
    16    }
    17    
    18}
    19class Employee
    20{
    21    public Employee(String n,double s,int year,int month,int day)   //首先我們傳5個參數
    22    {
    23        name=n;
    24        salary=s;
    25        GregorianCalendar calendar =new GregorianCalendar(year,month -1,day);
    26        hireDay=calendar.getTime();
    27    }
    28    public String getName()  //得到名字
    29    {
    30        return name;
    31    }
    32    public double getSalary()  //得到工資
    33    {
    34        return salary;
    35    }
    36    public Date getHrireDay()  //得到年齡
    37    {
    38        return hireDay;
    39    }
    40    public void raiseSalary(double byPercent)
    41    {
    42        double raise=salary*byPercent/100;
    43         salary+=raise;
    44    }
    45    private String name;  
    46    private double salary;
    47    private Date hireDay;
    48}
    49class Manager extends Employee  //定義一個 Manager 類繼承 Employee
    50{
    51    /**
    52     @parm n the employee's name 
    53     @parm s the salary
    54     @parm year the  hire year
    55     @parm month the hire month 
    56     @parm day the hire day
    57     */

    58     public Manager(String n,double s,int year,int month,int day)
    59     {
    60         super(n,s,year,month,day);  //關鍵字 繼承Employee  里的方法
    61         bonus=0;
    62     }
    63     public double getSalary()  //定義一個方法重載..
    64     {
    65         double baseSalary=super.getSalary();
    66         return baseSalary+bonus;        //就是在工資的基本上加上獎金
    67     }
    68     public void SetBonus(double b)  //定義一個方法 存儲獎金
    69     {
    70         bonus=b;
    71     }
    72     private double bonus;
    73}

    動態的綁定的意思 . 假如 調用 x.f("Hello")  編譯器會挑 x.f(String) 不會挑x.f(int)
     假如你子類想覆蓋 父類的方法 . 那么方法返回的類型必須是一樣的
    比如:
    Employee 類中有
    public Employee  gethaha()
    {
    ...........
    }
    那么在后面的 Manager中可以 按照一樣的方法

    public Manager gethaha()
    {
    ...........
    }

    如果你想要覆蓋一個父類的方法的時候. 你的子類的方法不能低于父類的可見性
    比如.父類是 public .  那么你子類覆蓋他  也必須是 public  否則會出現錯誤的...
    今天繼承就寫這么多.

    如果你想阻止繼承的話.  就用 final 修飾符..  可以看看下面的代碼就會懂了
     public class Test    //假如在這加一個final就會報錯. 因為一個被final修飾的類 是不能繼承的.
    {
        private String name;
        private 
    double salary;
        Test(String  name,
    double salary)
        {
            this.name
    =name;
            this.salary
    =salary;
        }
         
    public final String getName() //假如在這加一個 final 編譯不會影響什么. 因為子類沒有覆蓋這個方法
        {
            
    return name;
        }
        
    public  double getsalary()  //然而我們在這加一個 final 編譯就會報錯了.因為子類覆蓋了這個類.
        {
            
    return salary;
        }
        
    public static void main (String[] args)
        {
            Test1 t1
    =new Test1("xiaoqiao",80000);
            t1.aaa(
    600);
            System.out.println("小橋
    ="+t1.getName()+"\t"+t1.getsalary());
            
        }
    }
     class Test1  extends Test
    {
        private 
    double bb;
        
    public Test1(String name,double salary)
        {
            super(name,salary);
        }
      
    public double getsalary()
        {
            
    double aa=super.getsalary();
            
    return aa+bb;
        }
        
    public void aaa(double bb)
        {
            this.bb
    =bb;
        }
    }


                                                                                                             
                                                                                                                        ___作者: 鄭成橋

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


    網站導航:
     
    主站蜘蛛池模板: aa在线免费观看| 精品国产污污免费网站| 免费精品一区二区三区在线观看| 久久久久亚洲AV无码专区首JN| 国产免费AV片在线观看播放| 四虎国产精品免费视| 老司机亚洲精品影院在线观看 | 岛国精品一区免费视频在线观看 | 一级毛片完整版免费播放一区| 国产网站免费观看| 国产亚洲精品仙踪林在线播放| 国产美女精品久久久久久久免费| 亚洲AV无码一区二区乱子仑| 免费观看国产精品| 中国极品美軳免费观看| 亚洲视频精品在线| 四虎成人免费网站在线| fc2成年免费共享视频网站| 亚洲国产精品免费视频| 天天看免费高清影视| 午夜在线免费视频| 337p欧洲亚洲大胆艺术| 大陆一级毛片免费视频观看| 另类小说亚洲色图| 亚洲电影一区二区三区| 热99re久久免费视精品频软件| 特黄aa级毛片免费视频播放| 亚洲国产精品嫩草影院在线观看| 亚洲毛片在线免费观看| 一边摸一边桶一边脱免费视频| 日产亚洲一区二区三区| 在线观看免费亚洲| 无码免费一区二区三区免费播放| 亚洲日本中文字幕天天更新| 亚洲精品无码成人片在线观看| 69式互添免费视频| 免费成人在线视频观看| 亚洲精品成a人在线观看夫| 亚洲国产无套无码av电影| 99在线热播精品免费99热| 亚洲av女电影网|