Java继承

1.继承的概念和特点

  • 继承体现的是一种类与类之间的关系
  • 使用已存在的类(父类)的定义作为基础建立新类(子类)
  • 新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类的特征(意思就是子类必须继承父类全部开放性的东西)

特点:

  1. 利于代码复用
  2. 缩短开发周期

2.继承的实现

  1. 通过extends关键字实现 Java当中的继承只能是单继承(一个子类只有它唯一的父类)
  2. 子类只能访问父类的非私有成员

3.方法的重写
子类中重写父类的方法
语法规则:

  • 在子类中定义的,方法名,参数类型,顺序,个数都要与父类的方法相同
  • 与方法的参数名无关
  • 访问修饰符,重写的方法访问范围要大于等于父类的访问范围
  • 当父类方法返回值类型是void或基本数据类型时,子类的方法返回值必须相同。当父类返回值是引用类型(比如对象)时,可以是父类或其子类

4.访问修饰符的分类和作用

  • 公有的:public(允许在任意位置访问)

  • 私有的:private(只允许在本类中进行访问)

  • 受保护的:protected(允许在当前类,同包子类/非子类,跨包子类中访问,跨包非子类中不允许访问)

  • 默认:无修饰符(允许在当前类,同包子类/非子类访问,跨包子类/非子类不允许访问)

在这里插入图片描述
5.super关键字
super:父类对象的引用

父类的构造方法不允许被继承,不允许被重写,但是会影响子类对象的实例化

子类构造方法默认名调用父类无参构造方法,可以通过super()调用父类允许被访问的其他构造方法

super()必须放在子类构造方法有效代码的第一行

在这里插入图片描述
构造方法调用时,super和this不能同时出现。
在这里插入图片描述

6.Object类

  • Object类是所有类的父类
  • 一个类没有使用extends关键字明确标识继承关系,则默认继承Object类(包括数组)
  • Java中的每个类都可以使用Object中定义的方法

7.final关键字

  • final修饰class :表示该类没有子类,不允许被继承
  • final修饰方法 :该方法不允许被子类重写,但是可以正常被子类继承使用
  • final修饰方法内的局部变量:一旦被赋值该变量的值就不允许再被赋值
  • final修饰类中成员属性:赋值过程:1.只能在定义的时候直接初始化 2.构造方法中初始化 3.构造代码块中初始化
  • final不能修饰构造方法
  • final修饰引用类型的变量:初始化后不能再指向另一个对象,但对象的内容是可变的。
  • final配合static使用:表示全局不允许被修改,比如配置信息。
  • 使用final修饰可以提高性能,但会降低可扩展性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值