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

相关推荐
weixin_727535627 小时前
MinIO大文件上传深度拆解:从原理到生产落地的完整指南
java·中间件
Lyndon-李大鹏8 小时前
QT-VS环境
开发语言·qt
摇滚侠8 小时前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
芝士熊爱编程8 小时前
创建型模式-单例模式
java·单例模式·设计模式
大模型码小白8 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring
微学AI8 小时前
内网穿透的应用-把飞牛NAS变成家庭录像中心:EasyNVR部署与远程回放实战
开发语言·php
峥嵘life8 小时前
Android WiFi连接过程 wpa_supplicant 日志分析
android·开发语言·php
BerryS3N8 小时前
深度解析:从零构建生产级大模型 RAG(检索增强生成)系统全栈指南
开发语言·python·ai
weixin_BYSJ19878 小时前
「课设设计」springboot校园超市助购系统26449 (附源码)
java·javascript·spring boot·python·django·flask·php
栋***t9 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构