(面向对象)继承的基本概念

继承是从已有的类创建新类的过程
  • 继承是面向对象三大特征之一
  • 被继承的类称为父类(超类),继承父类的类称为子类(派生类)
  • 继承是指一个对象直接使用另一对象的属性和方法
  • 通过继承可以实现代码重用

语法:[访问权限] class 子类名 extends 父类名{
类体定义;
}

/**
    继承一个父类,只能继承非私有的数据(属性和方法)
    protected访问权限修饰符,在继承关系中使用,在父类中使用protected修饰的属性或方法可以被子类继承
    创建子类对象时,父类的构造方法也会被调用,为什么?
    因为子类要使用到父类的数据,那么就要通过父类的构造方法来初始化数据
    如果创建子类对象时会调用父亲的默认构造方法
 */





public class Main{
    public static void main(String[] args){
       Son son=new Son();
       Grandson grandson=new Grandson();
       son.setWeight(62);
       son.setHand("一双大手");
       grandson.setWeight(29);
       grandson.setHand("一双小手");
       grandson.setFoot("一双小脚");
       System.out.println("儿子的重量:"+son.getWeight());
       System.out.println("孙子的重量:"+grandson.getWeight());
       System.out.println("儿子的手:"+son.getHand());
       System.out.println("孙子的手:"+grandson.getHand());
       System.out.println("孙子的脚:"+grandson.getFoot());
       
    }
}


class Father{
    private int money;
    int weight;
     int getWeight(){
        return weight;
    }
    protected void setWeight(int w){
        this.weight=w;
    }
}

class Son extends Father{
    String hand;
    public void setHand(String hand){
        this.hand=hand;
    }
    String getHand(){
        return hand;
    }
}

class Grandson extends Son{
    String foot;
    public void setFoot(String foot){
        this.foot=foot;
    }
    String getFoot(){
        return foot;
    }
}

运行结果
儿子的重量:62
孙子的重量:29
儿子的手:一双大手
孙子的手:一双小手
孙子的脚:一双小脚

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容