面向对象之继承

面向对象之继承

  • 语法
  • super
  • 子类创建对象
  • 重写
  • 扩展
  • private
  • 总结

super

super 关键字 当前对象的父亲

super用法

  • 用于子类创建对象时,表示父类构造函数

    • super()
      • 用于子类无参构造函数或有参构造函数
      • 若没有写出来,默认存在子类的构造函数中(不管有参,无参),表示调用的是父类的无参构造函数
      • 位置一定在子类构造函数内的第一行
      • 子类的属性都是默认值,需要通过set方法赋值
      • 若是在子类有参构造函数中调用,子类属性赋值失败(父类相同属性),子类属性是默认值,除了子类特有的属性

    例:

    public Student(){

    ​ super();//没有的话 默认存在 父类构造器

    }

    public Student(String name ,int age){

    ​ super();//没有参数 调用这个有参子类构造器时,赋值失败

    }

    • super(参数名1,参数名2,参数名3)
      • 用于子类有参构造函数
      • 看子类的参数个数(和父类相同属性),来确定super中的参数个数 super中的参数个数小于子类的参数个数(和父类相同属性的参数)
      • super中的参数个数决定调用 父类中那个构造函数
      • 位置一定在子类构造函数内的第一行

    例:

    public Student(String name ,int age){

    ​ super(name,age);//调用父类参数对应的构造器,赋值成功

    }

    public Student(String name){

    ​ super(name);//调用父类参数对应的构造器,赋值成功name成功,age赋值失败,为默认值

    }

  • 用于表示父类属性 super.属性名;

  • 用于表示父类方法 super.方法名();


子类创建对象

  • 子类对象无参

    Student student = new Student();

    • 先调用Person(),后调用Student();

    • 子类创建一个对象时,在子类内部,通过父类构造函数 创建一个父类对象(其中有子类相同的属性),若子类有特有的属性,则在子类内部,父类对象之外创建属性。

  • 子类对象有参

​ Student student = new Student(“li”,22);


语法

class 一个类的名字 extends 另一个类的名字

class 子类 extends 父类(基类,超类)

例:class Student extends Person


重写

概念

  • 子类重写父类的方法(修饰符、返回类型、方法名、参数类型、参数个数都保持一致,但方法里面的程序(内容)可以不一样,子类中重写方法前加注解Override)

    例:父类:

    public void eat(){

    ​ System.out.print(“大方”);

    }

    ​ 子类:

    @Override

    public void eat(){

    ​ System.out.print(“优雅”);

    }


private

  • 修饰符,私人的,私有的。
  • 被private修饰的,不能被其他类所看见,所使用
  • 在子类继承父类时,父类中私有的属性是不能被继承的,也就是说:不能之间使用
  • 间接使用,通过set和get方法使用

扩展

概念

  • 子类在父类的基础上有所扩展 extends:扩展

总结

  • 子类继承了父类的属性和方法
  • 除此,子类还可以拥有自己独有的属性和方法
  • 一个父类可以多个(无数个)子类
  • Java是单继承,不是多继承,一个子类最多只有一个父类
  • 子类可以重写父类中的方法
  • 如果一个类没有继承任何类,则默认继承Object类
  • 不支持多重继承,但支持多层继承(子孙)
  • 不能继承私有的,不能继承静态的,不能继承构造器
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼不咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值