重载和重写

区别点 重载方法 重写方法
发生范围 同一个类 子类
参数列表 必须修改 一定不能修改
返回类型 可修改 子类方法返回值类型应比父类方法返回值类型更小或相等
异常 可修改 子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;
访问修饰符 可修改 一定不能做更严格的限制(可以降低限制)
发生阶段 编译期 运行期

接口和抽象类

实现:接口必须使用implement实现,抽象类使用extends继承
构造:接口不能有构造,抽象类可以有
main:接口不能有main方法,抽象类可以有main方法
实现数量:接口可以被多实现,但只能继承一个抽象类
访问修饰符:接口默认使用public,接口可以是任意修饰符