继承,super

本文详细解析了Java中的继承概念,包括单继承的特点、成员的访问规则、构造方法的调用过程,以及方法的重载与重写原则。同时介绍了多态的概念,即父类引用指向子类对象,并能在运行时根据实际类型执行相应的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继承 inheritance
概念:子类中包含了父类成员,并可以在子类中使用的过程
1.Java中只支持单继承,不允许多继承,不允许有多个直接父类
Ojbect类的9个方法
clone():复制对象
getClass():返回的对象的大Class对象
equals();比较两个对象是否相等
finalize();垃圾回收被调用的方法
toString();得到当前对象的字符串表示形式
hasCode();得到对象的哈希码
notify(); 唤醒线程 notifyAll();唤醒所有线程
wat();让线程等待
子类父类不在同一个包下
private 和 default 都不能被继承

Overload重载,方法的重载:同一个类内部方法名形同,参数列表不同
Override 重写,存在继承,子类重写父类的方法,访问权限需要≥父类的
返回类型如果是基本数据类型,必须一致,如果是引用数据类型
,那重写的返回类型,可以是父类返回类型的子类型
子类抛出异常类型,必须≤父类
静态方法可以被子类的继承,但是不能被子类重写

super();关键字
作用:1.子类和父类的变量,有语义上的冲突时,需要用super调用父类的变量(方法,变量)
2. 每个子类的构造方法的第一句,都必须 显示或者隐式通过super调用父类的构造方法
3.隐式调用只能调用,无参的构造方法
4.如果父类没有无参的构造方法,那么必须使用super调用父类的构造方法
5.通过这样的机制保证了父类的构造方法先执行完毕,然后执行子类的构造方法
6.通过super 来访问父类的构造方法,执行的意义在于,对父类实例成员的初始化
this和super并不冲突,因为当前构造方法没有调用super()其他构造方法必然有,第一句必然是super
那这个构造方法调用了那个构造方法,也就是说这个构造方法的第一句也必然是执行父类的构造方法

生成子类对象的过程描述:
1:类加载,按照整个子类继承的体系,从上到下,从最上层的父类,到最底层的子类,
进行类加载。父类加载——父类静态成员初始化,父类静态块
最后加载子类,对子类中的静态成员初始化,执行子类的静态块
2:先对最上层的父类的实例成员进行空间分配默认初始化,声明处的赋值,构造快,构造法
3:最后对子类的实例成员分配空间,默认初始化,声明赋值,构造快,构造方法

多态 polymorphism
多态是 父类的引用指向了子类的对象,并可以在运行期根据对象的实际的类型
执行对应类型的方法 的功能
多态形成的必要条件:
1.继承 2.父类引用,指向子类对象,子类重写父类的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值