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


                                                                                                             
                                                                                                                        ___作者: 鄭成橋

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


    網站導航:
     
    主站蜘蛛池模板: 免费观看男人免费桶女人视频| 鲁大师在线影院免费观看| 中文字幕av无码无卡免费| 日韩亚洲一区二区三区| 国产日韩在线视频免费播放| 国产成人涩涩涩视频在线观看免费| 亚洲H在线播放在线观看H| 亚洲性线免费观看视频成熟| 亚洲毛片基地4455ww| 成人无码区免费A片视频WWW| 亚洲 暴爽 AV人人爽日日碰| 女人与禽交视频免费看| 免费v片在线观看品善网| 亚洲最大成人网色| 永久在线免费观看| 亚洲视频在线精品| 一个人免费视频在线观看www| 亚洲视频在线免费观看| 亚洲精品美女视频| 国内自产少妇自拍区免费| 黄色一级视频免费| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 亚洲精品国产电影午夜| 免费在线观看视频网站| 好看的亚洲黄色经典| 一级毛片免费观看| 亚洲国产精品美女久久久久| 无人在线直播免费观看| 亚洲AV无码之国产精品| 亚洲精品无码日韩国产不卡?V| 18禁在线无遮挡免费观看网站| 亚洲国产成人久久精品app | www免费黄色网| 久久亚洲国产精品| 免费在线看污视频| 亚洲国产中文在线视频| 国产精品无码一区二区三区免费| 免费播放在线日本感人片| 天堂亚洲国产中文在线| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲日韩国产一区二区三区|