1、接口是Java中的特殊类,包含常量和抽象方法

2、实现接口的类必须实现接口中的所有抽象方法

3、没有类继承接口的说法,那叫实现接口。接口只能从接口继承。一个类只能继承一个类,但是可以同时实现多个接口。接口虽然看起来很像抽象的类,但是它和类是两码事。

4、访问某一个类的成员, 必须通过其类的对象访问, 除了某些由static修饰的(直接用类名.方法或属性访问), 不论你在什么位置都需要用public修饰

5、抽象类中可以存在非抽象方法,非抽象方法存在的意义是:比如有一个抽象Person类,里面有非抽象方法eat(),还有其他抽象方法性别,名字等等等等,那么我有一个子类继承Person类,这个子类可以不重写eat()方法,只需重写这些抽象方法来满足对象的特殊需求。 抽象类中的非抽象方法可以提高复用性

6、接口比抽象类更抽象,接口中所有的成员方法必须是抽象方法,方法能且只能被public abstract修饰。

7、接口中允许出现属性,接口中的属性能且只能为public static final变量。

8、结合第6、7点可以得出:抽象类是一种极度抽象的类型,一般情况下不在抽象类中定义属性

9、子类中方法调用父类的方法或者属性可以使用this调用,前提是该方法或者属性在此子类中不存在。(权限够的情况下)

10、父类调用子类的方法只能是在父类里构造子类的对象,通过对象来调用。

11、为什么要在父类中调用子类的方法呢,这样完全没有意义,如果非要调用子类方法完全可以不用继承,在外部使用子类方法就可以用继承方法使用。在外部调用继承方法,修改了子类,继而影响了父类的方法结果,所以说父类是由子类支撑的,与其说子类“继承了”父类,不如说父类“继承了”子类的方法,调用继承方法从某种意义上说也是父类调用子类了。