关于Java接口类和抽象类
关于Java接口类和抽象类
接口类
接口类是抽象方法的集合,它仅能被普通的类使用implement实现,一旦某类实现了一个接口类,那么他得保证接口类中的所有方法都被使用。接口类本身没有实现方法,需要实现它的类去实现这些方法。
关于接口类的抽象方法的修饰符:仅能为public 或 无(其实也是默认为public)如下图。
接口类的实现,如下图
接口类也支持一个类实现多个接口类,如下图,当然所有的方法仍需要都实现。
这里注意到,若两个接口类有同名方法,子类的实现仅需要一个。这也体现了接口类只是一个公共接口的规范而不提供实际的方法。
另外接口类时可以继承接口类的
同样的实现类需要实现所在接口类以及其接口类父类的所有抽象方法。
**
抽象类
**
抽象类用于捕捉子类共同特性,比如你定义一个人的抽象类,然后用中国人类和外国人类去继承这个抽象类,但是无论是外国人还是中国人都会说话,因此你可以在这个抽象类中定义一个说话的方法,那么两个子类都直接获得了该方法。因此抽象类可以有具体的实现方法,但是它本身不可以被实例化。
继承抽象类如下,可以直接调用抽象类中的方法。
这里需要注意,如果子类重写了父类的方法,有限执行子类的方法。
运行结果如下: