今天学习完了大数据第七天的课程。总结一下抽象类、接口、内部类的内容。

  接口的使用,可以降低代码的耦合性,抽象类,体现了Java编程的面向对象特性。Java中只支持单继承,即每个类只能继承一个上级父类,但是可以传递。接口可以实现多个,这也从另外一个角度实现了类的多继承。

  实现接口使用关键字implements,抽象类使用abstract关键字。接口中的方法,全是抽象方法,而抽象类中可以有抽象方法,也可以没有抽象方法。抽象类不能实例化。子类继承抽象类,需要实现父类中的抽象方法。接口中的方法,全部都用public修饰(不写也是public),原因是接口是为外界提供的模板,需要被其他类实现,如果接口内的方法都修饰为private或protected,那其他类实现了接口,方法也无法访问,失去了实现接口的意义。当要实现一个接口时,在接口中被定义的方法必须被定义为public的,否则,它们将只能得到默认的包访问权限,这样在方法被继承的过程中,其可访问权限就被降低了,这是Java访编译器所不允许的。也就是说,接口中方法的访问权限,只能扩大,不可缩小,可以发扬光大,不可私吞。接口中定义的域,都是隐藏修饰为static和final的。

  可以将一个类的定义放在另一个类的定义内部,这就是内部类。

  如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须像在main()方法中那样,具体地指明这个对象的类型:OuterClassName.InnerClassName。内部类对象能访问其外部类对象的所有成员。