一、接口
1.概述
接口用关键字interface修饰 ;
格式:interface 接口名
类实现接口用implements表示;
格式:类名 implements 接口名
2.总结:
1.接口是对外的;
2.接口,实际上可以看成一种规范
3.接口不能实例化 ;
4.接口没有构造方法 ,因为接口主要是扩展功能的,而没有具体存在
5.接口里的变量都是全局静态常量;(public static final)
6.接口里的方法没有方法体;都是全局抽象方法(public abstract)
7.非抽象子类要实现接口,必须要重写所有的抽象方法
3.抽象类和接口的区别
抽象类
有构造方法;有抽象方法,也有非抽象方法
对类抽象,包括属性、方法
接口
常量;抽象方法;
对方法抽象,主要是行为
二、多态
1.多态存在的三个必要条件
多态要有继承;多态要有重写;父类引用指向子类对象
2.向下转型(向上转型:多态)
强转后可以调用子类特有的方法和属性
格式:目标类 变量名 = (目标类)目标对象
3.instanceof关键字
语法:A instanceof B : 判断对象A是否是类B的实例;
为了避免出现在向下转型时出现异常
4.多态的体现
使用父类类型作为方法参数
使用父类作为方法返回值
三、异常
1.异常出现的原因:
用户操作错误;程序错误;物理错误;
2.Exception:异常父类
(1)ArithmeticException : 算数错误
(2)ArrayIndexOutOfBouds : 数组下标越界
(3)NullPointerException : 空指针(指针指到不存在的数据)
(4)ClassNotfoundException : 不能加载所需类
(5)ClassCastException : 对象强制类型转换
(6)NumberFormat Exception:数字格式转换
(7)lllegalArgument Exception: 方法接收到非法参数
3.异常处理
try-catch
格式:try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
使用try-catch-finally处理编译时异常,finally中声明的代码是一定会被执行的。
throws
格式:public void 方法() throws 异常类名 { }
写在方法的声明处,表示此方法执行时,可能会出现的异常。