7、接口interface(用implements来实现接口)
- (1)接口中的所有数据均为static和final即静态常量。尽管可以不用这两个关键字修饰,但必须给常量赋初值。
- (2)接口中的方法均为public,在实现接口类中,实现方法必须可public关键字。
- (3)如果使用public来修饰接口,则接口必须与文件名相同。
8、多重继承
- (1)一个类继承了一个类和接口,那么必须将类写在前面,接口写在后面,接口之间用逗号分隔。
- (2)接口之间可多重继承,注意使用关键字extends。
- (3)一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口继承的接口的方法,接口中的所有方法均须在类中实现。
9、接口的嵌入
- (1)接口嵌入类中,可以使用private修饰。此时,接口只能在所在的类中实现,其他类不能访问。
- (2)嵌入接口中的接口一定要为public。
10、类的嵌入
- (1)类可以嵌入另一个类中,但不能嵌入接口中。
- (2)在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。
手段有两种:
| class A ...{ class B ...{} B getB() ...{ B b = new B(); return b; } } static void m() ...{ A a = new A(); A.B ab = a.getB(); // 或者是 A.B ab = a.new B(); } |
(3)一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。接上例: ![]()
class C extends A.B ...{
| class C extends A.B ...{ C() ...{ new A().super(); // 这一句就实现了对内部类构造方法的调用。 } } |
构造方法也可这样写:
| C(A a) ...{ a.super(); } // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。 |
11、异常类
JAVA中除了RunTimeException类,其他异常均须捕获或抛出。

