Java 继承

类与对象中的继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

类的继承格式

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的。我写得一个动物类,如下:

package Java程序;

class Animal{
    String variety = "";//动物名称
    String name = "";//动物的名字
    int age = 1;//动物的年龄
    int numbering = 1001;//动物的编号
    Double price = 88.89;//售卖价格

    void isVariety(String newVariety){
        variety = newVariety;
    }//它是什么动物

    void getName(String newName){
        name = newName;
    }//它叫什么名字

    void newAge(int newValue){
        age = newValue;
    }//它今年几岁了

    void getNumbering(int newValue){
        numbering = newValue;
    }//它的编号

    void getPrice(Double newPrice){
        price = newPrice;
    }//它的售价是多少

    void briefIntroduction(){
        System.out.println("我们推出这只小萌宠是:" + variety + "\n"
                        + "它叫" + name + "\n"
                        + "它现在已经" + age + "岁了!\n"
                        + "它的编号是:"+numbering + "\n"
                        + "它的最终定价是:" + price + "元");
    }//动物简介
}

如何实现继承,然而我通过子类Panda类继承父类Animal类。

/**
 * Panda作为Animal父类的子类 
 * 子类使用extends继承父类的方法 void
 * 子类可以调用父类的方法:在调用前得定义构造器 "子类 定义名 = new 子类();"
 */
class Panda extends Animal{
    String price = "非买品";
    String attribute = ""; //属性加持

    void setPrice(String fixedPricing){ //fixedPricing 固定定价
        price = fixedPricing;
    }

    void setAttribute(String specialProperties){ //specialProperties 特殊属性
        attribute = specialProperties;
    }

    void briefIntroductionPanda(){
        System.out.println("我们推出这只小萌宠是:" + variety + "\n"
                        + "它叫" + name + "\n"
                        + "它现在已经" + age + "岁了!\n"
                        + "它的编号是:"+numbering + "\n"
                        + "它有一个特殊属性哦:" + attribute + "\n"
                        + "所以,它的最终定价是:" + price );
    }//动物简介
}

一个父类还可以被多个子类继承,以下为Tiger类,Tiger类还带着Dog类:

/**
 * Panda作为Animal父类的子类 
 * 子类使用extends继承父类的方法 void
 * 子类可以调用父类的方法:在调用前得定义构造器 "子类 定义名 = new 子类();"
 */
class Panda extends Animal{
    String price = "非买品";
    String attribute = ""; //属性加持

    void setPrice(String fixedPricing){ //fixedPricing 固定定价
        price = fixedPricing;
    }

    void setAttribute(String specialProperties){ //specialProperties 特殊属性
        attribute = specialProperties;
    }

    void briefIntroductionPanda(){
        System.out.println("我们推出这只小萌宠是:" + variety + "\n"
                        + "它叫" + name + "\n"
                        + "它现在已经" + age + "岁了!\n"
                        + "它的编号是:"+numbering + "\n"
                        + "它有一个特殊属性哦:" + attribute + "\n"
                        + "所以,它的最终定价是:" + price );
    }//动物简介
}

当被调用时:

public class Test02 {
    public static void main(String[] args) {
        Panda panda1 = new Panda();

        panda1.isVariety("国宝大熊猫");
        panda1.getName("小柒");
        panda1.newAge(1);
        panda1.getNumbering(7777);
        panda1.setPrice("非买品");
        panda1.setAttribute("我们的镇园之宝,亦是国之宝!");
        panda1.briefIntroductionPanda();

        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&");

        Tiger Tiger1 = new Tiger();
        Dog Dog1 = new Dog();

        Tiger1.isVariety("老虎");
        Tiger1.getName("玖玖");
        Tiger1.newAge(2);
        Tiger1.getNumbering(1983);
        Tiger1.getPrice(2877899.62);
        Tiger1.briefIntroduction();
        Tiger1.eat();
        Dog1.eatTest();
    }
}

结果是啥?

好吧,这就揭晓!哈哈哈

 

posted @ 2022-09-17 21:01  一冲子  阅读(14)  评论(0编辑  收藏  举报