继续编程
面向对象编程补充
多态注意事项:
多态是方法的多态,属性没有多态
父类和子类,有联系 类型转换异常!ClassCastException!
存在条件:继承关系,方法需要重写,父类引用指向子类对象!Father f1 = new son();
以下不能重写:
- static方法,属于类,它不属于实例
- final常量
- private方法
抽象类
(abstract)抽象的抽象:约束
- 不能new这个抽象类,只能靠子类去实现它:约束
- 抽象类中可以写普通的方法
- 抽象方法必须在抽象类中
接口
接口中的所有定义的方法其实都是抽象的 public abstract
接口都需要实现类(implements),实现了接口的类,就需要重写接口中的方法
作用:
- 约束
- 定义一些方法,让不同的人实现
- 所有定义的方法public abstract
- 常量public static final
- 接口不能被实例化,接口中没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法
内部类
-
成员内部类
可以获得外部类的私有属性
-
静态内部类
不可以获得外部类的私有属性
-
局部内部类
-
匿名内部类
异常
简单分类:
- 检查性异常
- 运行时异常
- 错误ERROR
快捷键:选中—>Ctrl + Alt + T
异常处理五个关键字:
- try、catch、finally、throw、throws
自定义异常
- 创建自定义异常类
- 在方法中通过throw关键字抛出异常对象
- 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作
- 在出现异常方法的调用者中捕获并处理异常