一、抽象
1.什么是抽象类
abstract修饰的类是抽象类,含有抽象方法的也是抽象类。
2.需要注意的点
1>抽象可以有普通方法、成员变量
2>抽象方法必须用public或protected,(如果为private,子类不能继承这个方法,没有意义)缺省情况下为public
3>抽象类不能创建对象
4>子类继承抽象类,要实现抽象类的抽象方法
二、接口
1.什么是接口
提供被别人调用的方法或函数的类(对行为的抽象)
2.需要注意的点
1>接口可以有变量和方法,变量会被隐式的声明为 public static final (用private修饰会报编译错误),方法会被隐式声明为 public abstract ,且只能是public abstract (不能用 private 、protected、final 、static),接口中的所有方法不能有具体的实现,接口的方法必须都是抽象方法
2>实现接口的类必须实现接口中的所有方法
三、抽象类和接口的区别
1.一个类看可以实现多个接口但只能继承一个抽象类
2.抽象是对一个事物的抽象,包括属性和行为,接口是对行为的抽象
3.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的
4.接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法