五、接口
1.接口的定义(interface):
是一种强制性(完全)的规范。 接口不是一个类,
定义一系列的属性(静态常量)和行为(抽象方法)
2.接口的特征:
⑴不能被实例化,接口没有构造方法
⑵接口只能被实现implements 或者继续定义为接口
⑶接口中的属性默认是 public static fianl 修饰的静态常量
⑷接口中的方法默认是 public abstract 修饰的抽象方法
⑸只能有抽象方法
⑹接口中的方法必须被子类重写
⑺一个类实现多个接口用逗号隔开
public class Man implements IPerson,Program
⑻如果一个类有继承又有实现,那么是先继承再实现
⑼接口可以继承多个接口,用逗号隔开!
3.类和类的关系 继承关系
类和接口的关系 实现关系 一个类可以实现多个接口()
接口和接口的关系 继承关系 可以继承多个接口
4.类只能继承一个父类,但可以实现多个接口,一个类如果实现了一个接口,则必须 实现接口中的全部方法,否则必须将其定义为抽象类。
Java通过实现接口达到了多重继承的效果。
5.接口表示一种约定,接口表示一种能力,接口体现了约定和实现相分离的原则。
6.抽象类利于代码复用,接口利于代码维护。
7.面向接口编程
⑴通过面向接口编程,可以降低代码间的耦合性,提高代码的可拓展性和可维护性。
⑵面向接口编程意味着:开发系统时,主体构架使用接口,接口构成系统的骨架,这样就可以 通过更换实现接口的类来实现更换系统。
8.接口有比抽象类更好的特性:
⑴可以被多继承
⑵设计和实现完全分离
⑶更自然的使用多态
⑷更容易搭建程序框架
⑸更容易更换实现
9.接口和抽象类的区别:
⑴接口不是类,抽象是是一个类
⑵接口没有构造方法,抽象类有构造方法 ,都不可以实例化
⑶接口只能被实现 ,抽象类只能被继承
⑷接口中只能有公共的静态常量和公共的抽象方法,抽象类中可以有普通的属性和方法
⑸接口可以多实现(多继承),抽象类只能单继承
六、异常(exception):
1.什么是异常?
在程序运行过程中,发生了不可预料的错误,导致程序终止。
2.异常的五个关键字:try、catch、finally、throw、throws
3.异常的格式
try{}catch(){}
try{}finally{}
try{}catch(){}finally{}
catch()块可以有多个,但是catch块捕捉有顺序先子类后父类
4.try代码块中表示可能出现异常代码块,catch代码中 捕捉到异常之后的处理。finally表示不管有没有异常都会执行的代码块
5.finally块中语句不被执行的唯一情况:
在异常处理代码中执行System.exit(1)。
6.throw表示抛出异常
throws 表示声明异常
告诉调用者这个方法有异常,谁调用谁处理。
7.throw和throws的区别
⑴作用不同:throw用于在程序中抛出异常。throws用于声明在该方法内抛出了异常
⑵使用的位置不同:throw位于方法体内部,可以作为单独语句使用。throws必须跟在方法参数列表的后面,不能单独使用。
⑶内容不同:throw抛出一个异常对象,而且只能是一个。throws后面跟异常类,而且可以跟多个异常类。