-
抽象类
是什么:抽象类是一种特殊的类,有一些类确实存在一些属性和方法,但目前是不具体的,这时我们就要用到抽象类(比如人类和猩猩类,都有运动的方法,抽象出动物类,具有运动的抽象方法)。
语法:abstract class className{}
注意事项:抽象类可以有抽象方法也可以没有抽象方法,抽象方法没有方法体,抽象类有构造方法可以让子类继承来初始化属性,抽象方法没有方法体,语法为 abstract 返回值 方法名(); 抽象类不能创建实例(无法调用抽象方法,因为没有方法体)子类继承抽象类必须实现所有抽象方法。抽象类可以想象成一种规范,定义了子类的模板,防止子类随意改写。
好处:规范书写,定义方法,具体实现让子类实现
-
接口
是什么:拓展功能,所有方法都是抽象的,比抽象类更抽象,是一种特殊的抽象类
语法:interface interfaceName{}
注意事项:
1. 接口是一个特殊的类。
2. 接口的成员变量默认的修饰符为: public static final 。那么也就是说接口中的成员变量都是常量。
3. 接口中 的方法都是抽象的方法,默认的修饰符为: public abstract。(Java编译器自动增加 javap查看)
4. 接口不能创建对象。
5. 接口是没有构造方法的。(不需要初始化成员变量,是常量)
6. 接口是给类去实现使用的,非抽象类实现一个接口的时候,必须要把接口中所有方法全部实现。
tips:子接口实现父接口不需要全部实现父接口的抽象方法,但实现子接口的实现类必须重写子接口和父接口所有的实现类
待续。。。