【继承 、父类引用: super|| 权限修饰符:private、protected、默认、public || 状态修饰符:static、final】

本文详细介绍了Java中的继承概念,包括单继承与多层继承,接口的多继承特性,以及ArrayList继承体系结构。讨论了继承中的成员变量访问规则、构造方法的访问特点和父类初始化过程。同时,讲解了当父类没有无参构造方法时子类如何处理,以及方法重写的相关内容。此外,还探讨了权限修饰符如private在构造方法中的作用,以及final和static关键字的应用场景和作用。

1. 继承

Java语言是单继承还是多继承?
单继承 错!
多继承 错!
1.类与类之间是单继承,但是可以多层继承,A继承B,B继承C,C继承D 这中多层继承使得A是功能最强大的。
2.接口与接口之间是多继承关系
在这里插入图片描述
ArrayList继承体系结构
在这里插入图片描述

1.1继承的概念和好处

在这里插入图片描述

1.2 继承体系当中,成员变量的访问规则

成员方法的访问规则也是一样的!
在这里插入图片描述

1.3继承中构造方法的访问特点

子类中所有的构造方法默认都会访问父类中的无参构造方法,为什么呢?

因为子类会继承父类中的数据,可能还会使用父类中的数据。所以,子类初始化之前,一定要先完成父类的初始化。
每一个子类的构造方法的第一条语句默认都是super()
super():这也就可以看作是调用父类的无参构造来初始化父类

注意:super写在哪个类就代表是哪个类的父类
在这里插入图片描述

1.4父类初始化的过程

在子类执行无参构造初始化子类的时候,会默认先执行父类的无参构造,先初始化父类
在这里插入图片描述

1.5父类如果没有无参构造方法子类怎么办

在这里插入图片描述

1.6继承中涉及的方法重写

在这里插入图片描述

2.权限修饰符

注意:== 如果如果一个类的构造方法被private修饰,那么这个类不能创建对象,只能是用类名. 的方式来调用类中的静态变量或者是静态方法==
在这里插入图片描述

3.状态修饰符

3.1 final 关键字的作用(最终状态修饰符)

在这里插入图片描述

3.2 final的使用场景

在这里插入图片描述

3.3 final修饰局部变量:修饰 基本数据类型,引用数据类型的区别

在这里插入图片描述

3.4 static (静态修饰符)

被static修饰的变量已经不再属于某一个对象,而是在.java文件被编译成.class文件的时候,被static修饰的变量就已经加载进方法区了,也就是在你需要创建对象之前就已经在方法区加载好了,所以你创建对象时,是在堆内存中开辟空间,并且给未被static修饰的成员变量初始化,但是被static修饰的变量是不会在对象里面的,静态变量会在.class文件(.class文件都在方法区中)的静态区,而对象是在.calss文件的非静态区,虽然用对象名可以调用到被static 修饰的变量,但是不建议这样调用静态变量。因为静态变量可以直接使用 类名.变量名 调用!
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在工具类中经常使用static 和 final 关键字,还会使用private修饰工具类的无参构造方法,这样就只能通过类名. 的方式来调用静态方法和静态变量了,而不能在本类之外创建对象来调用静态变量或者静态方法了!在本类中只要有主方法,还是可以创建对象的,但是一般都是不会在工具类中创建本类的对象的。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值