接口的所有方法都默认属于public。因此,不必要提供public关键字。
接口不是类,不能用new实现实例。但可以声明接口的变量。接口变量必须引用实现了接口的类对象。使用instanceof检测是否实现某个特定的接口。
接口中的域自动设为public static final。
内部类:
内部类方法可以访问该类定义所在作用域中的数据,包括私有数据;
内部类可以对同一个包中的其他类隐藏起来;
当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。
内部类有其外部类的引用out。使用外围类引用的正规语法还要复杂一些。表达式OuterClass.this表示外围类引用。
使用下列语法格式更加明确地编写内部对象的构造器:outerObject.new InnerClass(construction parameters);
在外围类的作用域之外,可以这样引用内部类:OuterClass.InnerClass;
局部内部类不需要public等访问限定符。
与内部类相比,局部类不仅可以访问包含他们的外部类,还可以访问局部变量,不过那些局部变量必须被声明为final。
static内部类
在内部类不需要访问外围类对象的时候,应该使用静态内部类。
声明在接口中的内部类自动成为static和public。