抽象类和抽象方法
含有抽象方法(用abstract修饰没有方法体的方法)的类必须用abstract修饰,但是用abstract修饰的类可以不包含抽象方法,可以含有普通方法(含有方法体),抽象类不能创建实例,
(注意:一个类含有抽象方法,该类必须要用abstract修饰,但是一个用abstract修饰的类,可以是空的,可以是含有普通方法,抽象类只能继承使用,不能new出来(直接报错),继承抽象类的类,必须实现抽象类中的抽象方法,如果存在多重继承 抽象类—->继承类(实现抽象方法)——->再继承(这个类可以不用实现抽象类中的抽象方法,因为他的父类已经实现了抽象方法)
接口
接口可以看作是完全抽象的类,里面只有方法名,参数列表和返回类型,默认是包访问权限,接口中的域是隐式static和final的,方法默认是是public的
接口可以被多继承,和多实现,无论是对类来说还是对接口来说
接口中的多态
关于接口能不能new出来,准确来说,接口new出来的的是一个匿名内部类。
default关键字
接口中的静态方法
和普通静态方法无异
组合接口时的名字冲突
嵌套接口
要注意私有接口的使用。在实现某个接口时,并不需要实现嵌套在其内部的接口。