java继承

继承就是对某些类的抽象,就是代码的复用

Java的继承时单继承,就是一个子类只能有一个父类;

  1. private 私有

    • 子类继承不到,完全拿不到
    • 只能父类自己用
  2. 默认权限(啥都不写)

    • 同包下:能继承
    • 不同包:不能继承
  3. protected 受保护

    • 不管同包不同包,子类全都能继承
    • 跨包也能继承
  4. public 公开

    • 任何地方都能继承,随便用

super

  1. 本质

super 代表父类对象 this 代表当前子类对象 super 代表父类对象

  1. 三大用法

① 调用父类构造方法(最常用)

格式:super();

  • 必须写在子类构造第一行

  • 作用:先调用父类无参构造,再执行子类构造

  • 有参:super(实参); 调用父类有参构造

只能在子类的方法或者构造方法中

this()本类的构造

super()父类的构造

多态

父类的引用指向子类的对象

方法重写
  1. 是什么

子类重新写一遍父类已经有的方法 父类有这个方法,子类觉得不好用,重新改写内容,就是重写。

  1. 重写满足 4 个条件

  2. 继承关系:必须子类继承父类

  3. 方法名一模一样

  4. 参数列表一模一样

  5. 返回值一致

  6. 权限要求

子类权限 不能比父类更小

  • 父类 public → 子类只能 public
  • 父类 protected → 子类可用 protected/public

private 方法不能被重写!

父类的方法不满足子类的需要

多态的注意情况

1 子类继承父类,子类重写了父类的方法,子类可以调用父类的独有方法,和自己重写过的方法

2 父类的引用指向子类的对象

这个变量虽然是父类型,但是是子类对象,调用时,他调用被重写的方法的时候,是调用的子类的方法,而且不能调用子类独有的方法,只能用父子类共有的方法,也就是子类重写过的父类的方法

3必须有继承关系,子类重写父类方法,父类引用指向子类对象才能实现多态

同一个方法根据对象类型的不同采取不同的行为方式

父类型父类对象父类方法

子类型子类对象 子类和父类方法

父类型子对象 父子类共有的方法

instancesof

作用:判断 左边对象 是不是 右边这个类型 中文:是不是、属于

把子类转换为父类,向上转型,直接转

把父类转换为子类,向下转型,需要强制转换,需要先判断能不能转

向上转型后子类独有的方法不能用

static final

在当前类里面,访问静态方法不用类名可以直接调用,

代码块的执行顺序

静态代码块

代码块

构造器

静态代码块只执行一次

创建对象的时候,就把类中的静态代码块,代码块,构造方法一起执行

static修饰的都是属于类的

用final修饰之后的类不能被继承,

相关推荐
それども4 小时前
怎么理解 LEFT JOIN 和 LEFT SEMI JOIN
java·数据库·mysql
小郑加油4 小时前
python学习Day15:综合训练——数据清洗与缺失值补充
开发语言·python·学习
完成大叔4 小时前
Agent入门:用本地模型从零搭建
开发语言·python·langchain
rGzywSmDg4 小时前
如何在Dev-C++中设置TDM-GCC为默认编译器
开发语言·c++
日月云棠4 小时前
JAVA数据结构与算法 - 基础:数组深度解析
java·后端
WL_Aurora4 小时前
Java多线程详解(二):线程池、同步机制与并发工具类
java·多线程·并发
Java技术小馆4 小时前
微信本地数据提取/接入AI神器
java
日月云棠4 小时前
JAVA数据结构与算法 - 基础:核心概念与框架总览
java·后端
xyq20244 小时前
Ruby 日期 & 时间处理指南
开发语言