7、重载和重写的区别
位置 | 方法名 | 参数列表 | 返回值 | 访问修饰符 | |
方法重写 | 子类 | 相同 | 相同 | 相同或子类 | 不能比父类更严格 |
方法重载 | 同类 | 相同 | 不同(参数个数、类型、顺序不同) | 无关 | 无关 |
8、抽象类和接口区别
共同点:都有抽象方法,都不能够实例化,但是都可以有自己的声明,并能够引用子类或实现类对象
不同点:(1)抽象类可以有属性变量,接口不能有,只能是静态常量,数据成员必须初始化。
(2)抽象类可以有具体的方法,并且具体方法可以调用抽象方法,接口如果有方法则必须全部是抽象方法。
(3)抽象类必须有子类继承,扩展性弱,接口必须有实现类实现,拓展性强。