目录
1、Java语言支持向上转型和向下转型,但是转型必须之间有继承关系,不然编译器会报错。
4、java.lang.ClassCastException:类型转换异常
1、方法覆盖
1、什么叫方法覆盖?
方法覆盖又叫方法重写。子类继承父类,父类中的方法不能满足子类的需求,需要重新编写父类中的方法。
简而言之,方法覆盖就是对父类中的方法进行重新编写。
方法覆盖的条件
-
-
有继承
-
访问权限不能变低,可以变高。
-
返回值类型、方法名、形式参数列表完全相同。 注意:对于基本类型,返回值类型必须相同。对于引用类型返回值类型只能向下转型。但是开发的时候,直接复制粘贴就可以,不用改动。
-
-
-
重写的方法不能抛出比之前更多的异常(这个异常指的是编译时异常,运行时异常可以抛。),可以更少。
-
notes:
-
-
私有方法不能被覆盖
-
方法覆盖只针对实例方法,静态方法覆盖没意义。
-
因为构造方法不能被继承,所以构造方法不能被覆盖。
-
2、方法覆盖(重写)与方法重载的区别?
-
方法覆盖发生在两个具有继承关系的类之间。
-
方法重载发生在同一个类中。
-
方法重载只看方法名和参数列表
-
方法覆盖需要返回值类型、方法名、形式参数列表完全相同。