黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java培訓 動力節點java培訓機構分享java繼承的實例

動力節點java培訓機構分享java繼承的實例

更新時間:2019-09-18 10:20:52 來源:動力節點 瀏覽2572次

 

今天動力節點java培訓機構小編為大家分享java繼承的實例,希望通過此文大家對java繼承能夠有更深的理解,下面就隨小編一起來了解一下java繼承的實例。


timg (1).jpg


實例需求:實現一個名為Person的類和它的子類Employee,Manager是Employee的子類,設計一 個類Add()用于漲工資,普通員工一次能漲10%,經理能漲20%。


  具體要求如下:


  (1)Person類中的屬性有:姓名name String(類型),地址address(String類型),定義該類的構造方法;


(2)Employee 類中的屬性有:工號ID(String類型),工資wage(double類型),工齡(int 型),定義該類的構造方法;


  (3)Manager類中的屬性有:級別level(String類型)定義該類的構造方法;


  (4)編寫一個測試類,產生一個員工和一個經理,給該員工和經理漲工資。



  1、利用繼承的特性


  當子類沒有相應的成員方法時,調用父類的同名方法。


  Person.java


package person_employee;


public class Person {

    private String name = "";

    private String address = "";

    //定義構造方法

    public Person(String name, String address){

        this.name = name;

        this.address = address;      

    }

}


Employee.java


package person_employee;

//  繼承Person類

public class Employee extends Person {

    private String ID = "";

    private double wage = 0;

    private int age = 0;

    

    public Employee(String name, String address, String ID, double wage, int age){

        super(name, address);  //調用父類的構造方法

        this.ID = ID;

        this.wage = wage;

        this.age = age;

    }


    public double add(String position){//  判斷職位

        if(position == "0"){

            wage = wage*1.2;

        }

        else{

            wage = wage*1.1;

        }

        return wage;

    }

        //設置get/set方法

    public double getWage() {

        return wage;

    }

    public void setWage(double wage) {

        this.wage = wage;

    }

}


Manager.java


package person_employee;

//繼承Employee類

public class Manager extends Employee{

    private String level = "";  //1為普通員工,0為經理

    

    public Manager(String name, String address, String ID, double wage, int age, String level){

        super(name, address, ID, wage, age);

        this.level = level;

    }

        

        //設置get/set方法

    public String getLevel() {

        return level;

    }


    public void setLevel(String level) {

        this.level = level;

    }

}


Test.java


package person_employee;


public class Test {


    public static void main(String[] args) {

        //  新建對象

        Manager normal = new Manager("wsl", "jit", "12", 1000, 2, "1");

        Manager manager = new Manager("ctl", "jitt", "123", 10000, 10, "0");

        //  傳入職位,Manager類型的對象沒有add()方法,所以自動搜尋其父類,調用add()方法

        normal.add(normal.getLevel());

        manager.add(manager.getLevel());

        

        System.out.println("normal wage is:"+normal.getWage());

        System.out.println("manager wage is:"+manager.getWage());

    }

}


打印結果:



1.png



  2、定義抽象類


  定義抽象類,在子類中實現不同的抽象方法。


  Person.java

  

package person_employee;


public class Person {

    private String name = "";

    private String address = "";

    //定義構造方法

    public Person(String name, String address){

        this.name = name;

        this.address = address;      

    }

}


Employee.java


package person_employee;


public abstract class  Employee extends Person {

    private String ID = "";

    private double wage = 0;

    private int age = 0;

    

    public Employee(String name, String address, String ID, double wage, int age){

        super(name, address);

        this.ID = ID;

        this.wage = wage;

        this.age = age;

    }

    

    //定義抽象方法

    public abstract void add(String position);

    

    //設置get/set方法

    public double getWage() {

        return wage;

    }

    public void setWage(double wage) {

        this.wage = wage;

    }

}


  Manager.java


package person_employee;


public class Manager extends Employee{

    private String level = "";

    

    public Manager(String name, String address, String ID, double wage, int age, String level){

        super(name, address, ID, wage, age);

        this.level = level;

    }

    //實現抽象方法

    public void add(String position){

        double wage = super.getWage();

        if(position == "0"){

            super.setWage(wage*1.2);

        }

        else{

            super.setWage(wage*1.1);;

        }

    }


    public String getLevel() {

        return level;

    }


    public void setLevel(String level) {

        this.level = level;

    }

}


  Test.java

 

package person_employee;


public class Test {


    public static void main(String[] args) {

        Manager normal = new Manager("wsl", "jit", "12", 1000, 2, "1");

        Manager manager = new Manager("ctl", "jitt", "123", 10000, 10, "0");

        

        normal.add(normal.getLevel());

        manager.add(manager.getLevel());

        

        System.out.println("normal wage is:"+normal.getWage());

        System.out.println("manager wage is:"+manager.getWage());

    }

}


  打印結果:


1.png


  3、在2的基礎上利用多態實現方法的重載


  Manager.java


package person_employee;


public class Manager extends Employee{

    private String level = "";

    

    public Manager(String name, String address, String ID, double wage, int age, String level){

        super(name, address, ID, wage, age);

        this.level = level;

    }

    //實現抽象方法

    public void add(){

        double wage = super.getWage();

        super.setWage(wage*1.1);

    }

    public void add(String position){

        double wage = super.getWage();

        super.setWage(wage*1.2);

    }


    public String getLevel() {

        return level;

    }


    public void setLevel(String level) {

        this.level = level;

    }

}


Test.java


package person_employee;


public class Test {


    public static void main(String[] args) {

        Manager normal = new Manager("wsl", "jit", "12", 1000, 2, "1");

        Manager manager = new Manager("ctl", "jitt", "123", 10000, 10, "0");

        

        normal.add();

        manager.add(manager.getLevel());

        

        System.out.println("normal wage is:"+normal.getWage());

        System.out.println("manager wage is:"+manager.getWage());

    }

}


打印結果:


1.png


以上就是動力節點java培訓機構小編分享的“java繼承的實例”,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。


相關免費視頻教程推薦


java開發基礎教程下載——編寫繼承代碼:http://m.ilovecolors.com.cn/xiazai/2615.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩中文字幕在线 | 五月激情视频 | 久久午夜免费鲁丝片 | 狠狠的撞进去嗯啊h女强男视频 | 最新国产精品自拍 | 亚洲人成图片小说网站 | 欧美婷婷综合 | 久久精品国产第一区二区 | 精品哟哟哟国产在线观看不卡 | 男女午夜爽爽 | 亚洲精品亚洲人成在线观看麻豆 | 亚洲综合区小说区激情区噜噜 | 99视频免费在线观看 | 一级毛片aaaaaa免费看 | 视频在线观看一区二区三区 | 中文亚洲动漫精品 | 曰批免费视频播放在线看片二 | 射影院 | 野花视频在线观看-高清中文 | 国产黄的网站免费 | 最近中文字幕免费版在线3 最近中文字幕免费版在线 最近中文字幕免费mv在线视频 | 日本一区二区高清 | 在线观看黄a大片爽爽影院免费 | 精品中文字幕一区二区三区四区 | 一区二区三区国产 | 77788色淫网站免费观看 | 国产一级黄色网 | 深夜男人影院 | 在线看www| 日本福利视频 | www.黄免费 | 黄色福利小视频 | 久久只有精品视频 | 日本大片免费一级 | 日本波多野结衣字幕久久 | 色综合久久88色综合天天提莫 | 精品成人免费一区二区在线播放 | 午夜性刺激免费视频 | 欧美午夜一艳片欧美精品 | 欧美日韩一级大片 | x8x8国产日韩欧美 |