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知识库 -> 继承,权限修饰符,final关键字,this,super -> 正文阅读

[Java知识库]继承,权限修饰符,final关键字,this,super

封装: 隐藏实现细节,仅对外暴露公共的访问方式

继承: 类与类之间产生关系(子父类关系), 子类就可以直接使用父类中非私有的成员。

例如:定义printArray () -- 方法的编写者, 对代码功能进行了封装

  • 简单理解:我们作为使用者, 不需要关注内部的实现, 只需要关心如何使用即可

实现继承格式

public class Zi extends Fu{}
Zi : 子类(派生类)
Fu: 父类(基类, 超类)

继承的使用场景:

分析需求的时候,发现多个类中存在共性的内容(相同),并且还产生了一种 is...a 的关系,就可以 考虑使用继承来优化代码

  • 优点:

    • 提高了代码的复用性

    • 提高了代码的维护性

    • (让类与类之间产生了关系,是多态的前提)

  • 缺点:

    • 代码的耦合性增强了,类与类之间的关系过于紧密

02- 继承中成员的访问特点 - 成员变量

① 如果父类中出现了重名的成员方法,在使用时会根据就近原则,优先使用子类的成员变量。 如果,非要使用父类中的成员方法,可以使用super 关键字类进行区分。

class Fu {   
    int num = 10;}?
class Zi extends Fu {    
    int num = 20;        
    public void method(){     
        int num = 30;           
        System.out.println(num);  //30
        System.out.println(super.num); // 10    
        System.out.println(this.num); ?// 20
    }
    }

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

① 子类继承父类之后,可以继续编写自己的普通方法。

当出现子类中的方法与父类的方法重名时,会先调用子类中大方法,不是就近原则, 是子类重写了父类中的方法。

04 - 方法重写 override

① 定义: 在继承关系中子类中出现了和父类中,方法声明一模一样的方法,就是子类对父类方法的重写。

② 重写的原因是,在子类中需要父类的逻辑,但不想完全继承,而是做一些修改,就可以重写。

③ 注意事项:

父类中private 修饰的方法子类不能重写

子类重写父类的方法时,访问权限需要大于等于父类,最好一致。

权限修饰符:

  • private:同一个类中

  • 默认的:同一个类中,同一个包中

  • protected:同一个类中,同一个包中,不同包下子类当中

  • public:任意位置

05- Java 中继承的特点

①Java 只支持单继承,不支持多继承,但是可以多层继承

06- 继承中成员的访问特点(构造方法)

① 构造方法不能被继承,子类需要自己编写构造方法

原因是,构造方法定义格式

public 类名{} 如果继承的话,类名就没有办法保持一致了。

② 子类只要有方法就能完成父类的初始化,子类在初始化的过程之前,需要先完成父类的初始化。 子类的构造方法中都默认存在super()在访问父类的空参构造方法。

07- this 和super

  • this : 调用本类成员

    • this.本类成员变量

    • this.本类成员方法();

    • this(); 调用本类构造方法

  • super : 调用父类成员

    • super.父类成员变量

    • super.父类成员方法()

    • super(); 调用父类构造方法

注意: this 和super 都必须放在构造方法的第一行位置,两者不能共存

08- final 关键字

① final 表示最终的意思,可以修饰(方法,类,变量)

方法: 不能被重写

类: 不能被继承,但可以有自己的父类

变量: 就变成了常量只能被赋值一次

命名规范:

所有字母大写

eg: MAX MAX_VALUE

基本数据类型: 其数据值不能改变

引用数据类型: 地址值不能改变

成员变量:

赋值时机: 1. 在定义的时候直接赋值(推荐)

2. 在构造方法运行结束之前,完成赋值。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 11:46:23  更:2021-09-03 11:48:31 
 
开发: 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/23 12:58:46-

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