IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java继承 -> 正文阅读

[Java知识库]Java继承

继承是让类和类之间产生关系(子父类关系),产生继承关系后子类可以使用父类非私有的成员格式:此处是Dog类继承Animal类

Animal类是父类,也是基类、超类

Dog类是子类,也称为派生类

public class Dog extends Animal{
}

继承的好处和弊端

继承的好处:

? ? ? ? 提高了代码的复用性

? ? ? ? 提高了代码的维护性

? ? ? ? 让类与类之间产生关系,是多态的前提

继承的弊端:

? ? ? ? 增强了代码的耦合性(代码和代码之间存在关联都可称之为耦合)

? ? ? ? 继承是侵入性的

? ? ? ? 降低了代码的灵活性:继承关系导致子类必须拥有父类非私有的属性和方法

Java中继承的特点

Java只支持单继承,不支持多继承,但支持多层继承

比如儿子继承父亲,父亲继承爷爷,但儿子不能继承父亲的同时又继承爷爷

继承中变量的访问特点

在子类中访问一个变量采用的是就近原则

1子类局部范围查找,在方法栈内存中查找

2子类成员范围找,方法栈中找不到,因为对象嗲欧哦那个方法的联系,索引就到了该对象存在的堆内存空间

3父类成员范围找,说明子类对象堆内存空间持有了父类对象的堆内存空间地址

继承中成员方法的访问特点

先从子类成员范围找

再从父类成员范围找

this和super

this代表本类对象引用

super代表父类对象引用

方法重写

方法重写是子类出现了和父类中一摸一样的方法声明(方法名,参数列表,返回值类型)

父类中的私有方法不能被重写

父类中私有方法不能被重写

父类的非静态方法子类必须通过非静态进行重写

静态方法不能被重写,如子类有相同的静态方法可理解子类将父类的同名静态方法隐藏了起来,并不是方法重写

子类重写父类方时,访问权限必须大于等于父类

子类重写父类方法,方法名和参数列表必须相同

子类方法返回值类型应比父类方法返回值类型更小或相等

子类方法声明的异常应比父类方法声明的异常类型更小或相等

应用场景:
? ? ? ??
当子类需要父类的功能,而子类又想有自己特有的内容,可以重写父类的方法。

//父类的method方法
public class Animal {

    public void method(){
        System.out.println("动物类");
    }
}

//子类重写父类的method方法
 public void method(){
        super.method();
        System.out.println("狗");
    }

Override注解

用来检测当前的方法是否为正确重写的格式,起到校验作用

//如果不是正确的重写格式,Override注解会报错 
@Override
    public void method(){
        super.method();
        System.out.println("狗");
    }

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:16:13  更:2021-10-28 12:17:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:03:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码