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修饰之后的类不能被继承,

相关推荐
狗凯之家源码网16 分钟前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
远离UE440 分钟前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience1 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
Thinker QAQ1 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
栈帧之外2 小时前
【C++】STL之set
开发语言·c++
霸道流氓气质2 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路2 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
catchadmin2 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
开发语言·php
jimy14 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++