抽象类
包含有抽象方法的类;同时还可以包含普通方法和属性。
该类需要被子类继承实现其中的抽象方法才能使用,其中被private修饰的方法不能被继承,即使子类中写了该方法也不是重写;
普通类继承抽象方法时需要重写所有抽象方法,否则该子类也是抽象类;
使用方法时从定义类型到实际类型找,如果定义类和实际类型中都有,则使用实际类型的,但是如果实际类型中有而定义类型中没有,使用的时候就会报错;
使用属性是,也是从定义类型到实际类型中找,但是找到了就不会继续向下找,即定义类型中有就用定义类型中的,但是定义类型中没有同样也会报错。
接口
接口中的方法都是抽象方法,属性被final修饰;
实现接口的时候要实现其中的所有方法;使用属性的情况和继承抽象类的一样,不必接口中有,而且使用的是接口中的;
java支持单继承多实现
抽象类可以继承借口也可以实现接口;
接口可以继承接口不可以实现和继承抽象类