讨论/《Java 面试突击》 - 继承/
《Java 面试突击》 - 继承
共 7 个回复

is-a关系指的就是继承关系
比如猪继承动物,那么猪is-a动物
再比如汽车继承交通工具,那么汽车is-a交通工具

11

子类重写方法抛出的异常必须和父类方法抛出的异常相同或者是其子类异常

6

重载指在同一个类中定义多个方法,这些方法有相同的名称,但是方法签名不同。重写指在子类中定义一个方法,该方法与父类中的方法的签名相同,返回值类型相同或者子类的方法的返回值类型是父类的方法的返回值类型的子类。

使用 final 修饰的类是终极类,不能被继承。使用 final 修饰的方法不能被子类重写。

那个default应该是跨包子类不能访问,写具体点好

建议:
1)、final修饰的变量,应分为引用类型和非引用类型来具体说明一下
2)、对于重载,区分点是在方法名、方法参数,没法通过返回类型来判断是否是重载
3)、明确方法签名是什么?我查到的资料是:方法签名是方法名和方法参数

我的理解:
关注点:方法返回值、方法访问权限、方法名、方法参数、方法抛出的异常

对于重载:同一个类中(包括继承而来的)方法,方法名一致,方法参数不一致
对于重写:具有继承关系,方法名和方法参数一致,子类的访问权限不能低于父类,子类的抛出异常是父类的抛出异常一样或是其子类

备注:
1)、实际些代码的时候,重写的方法强烈建议添加上注解@Override
2)、对于重写,jdk7之前要求方法返回类型是一致的,之后的版本要求还可以是其子类

加油

能详解下 is-a 关系 有啥特殊含义吗? 没太懂

1