Java中的继承、子类父类关系、多态系统

继承概念

class Items{ 
	Sting music;
}
class DVD extends Items{
}

在这个类的声明中,DVD是子类,Items是父类。DVD作为子类会继承父类中的函数和变量。

父类与子类的关系

关于父类访问标识
还有一种特殊的标识:final
被标识为final的类无法被继承,是继承树的末端,被标识为final的成员不能被覆盖重写

在父类中被定义为private的变量和函数只有父类自己可以使用,子类不能引用
protected 修饰的函数和变量可以被同一个类或是同一个包内的类,还有不同包内的子类访问

多态变量和向上造型

多态可以理解为:子类对象可以被当做父类对象来使用
在这里插入图片描述

Java的对象变量是多态的,可以是声明类型(静态),或者是声明类型的子类(动态)。
当把子类对象赋值给父类时就发生了向上造型。Java允许向上造型,但不允许向下造型。
在造型过程中,变量的类型不会转换,但是编译器会把它当做造型后的变量处理,这一点是与类型转换不同的。
函数调用的绑定:

当通过对象变量调用函数的时候,调用哪个函数这个事情叫做绑定。绑定分两种:
静态绑定:根据对象的声明类型来决定
动态绑定:根据对象的动态类型来决定(Java默认绑定方式)

类型系统

在这里插入图片描述
Java中所有类都实际继承自Object。


关于override在代码中的作用:

@Override是伪代码,表示重写。(当然不写@Override也可以),不过写上有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值