首页 课程 师资 教程 报名

Java父类子类的执行顺序

  • 2022-06-24 09:15:38
  • 1050次 动力节点

Java父类子类的执行顺序是怎样的?动力节点小编告诉大家,java和其他语言一样,子类可以继承父类,但父类不能继承子类。

Java父类子类的执行顺序

譬如创建两个类,一个Fruit类,一个Apple类,你可以Fruit a = new Apple,不可以Apple a = new Fruit。

以常用的List型为例,你可以List l = new ArraytList,但不可以反着来。

而在List,Set等类型中,即使时它们的具体类型(就是用两个三角括号包起来的那个)是父子类的关系,它们也不能互相继承。

比如List a = new List,Set l =new Set,这两种写法都是错的,但是List s = new ArrayList是正确的。

通过这两个例子,可以粗略的看到,对与可以进行细化元素类型的类型,即使细化的元素互为父子类关系,它们也不能够互相继承,而对类型本身则是不会遇到这个问题的。

这是因为java在运行程序时,会把List、Set之类的类型的类型细化(后面三角括号里的东西)全部擦除,擦除的结果就导致在运行时如果加入属于List但不属于ArrayList(以Set l =new Set这句代码为例)的元素,系统不会报错。这无疑会造成严重的错误。因此,为了避免这种错误,java决定在系统运行之前的检查中就规避掉这种行为。

同时,对于java的子类型还有如下的约束:

1.子类型可以增加方法,但不能删除方法

2.子类型需要具体化父类型中抽象的方法

3.子类型方法有更多的不变量,更强的前置条件和更弱的后置条件

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交