①JAVA三大特性:封装,多态和继承
②继承:JAVA中只有单继承,不存在多继承,这是JAVA和C语言的区别之一
③JAVA中继承,模板模式设计方法,如图一
④抽象类:
抽象类不可实例化,不可创建对象
抽象类中不一定都是抽象方法,但至少得有一个抽象类,抽象类中可以包含具体方法,如图一中所示
抽象类是对不同类中相同方法进行向上抽取
抽象类中方法若不想被重写(覆盖),方法可以用final进行修饰
⑤接口:
对于接口,大家可以可以浅层次的了解就是,接口中的方法必须全是抽象方法(切记)
接口是用来实现(implements)的,不是用来继承的
一个类可以实现多个接口,如class ZiDemo implements A,B(这是对JAVA不可以多继承的补充)
接口的好处:比如说学生都有睡觉,学习的方法,但是呢男学生却有抽烟这个方法,然而女学生没有,这个时候就可以把抽烟这个方法放在接口中,然后谁需要就进行实现,如图2
最后讲一下,JAVA中不可以多继承,但可以多实现的原因。如果JAVA一个类继承对个类,然而有两个类中的都有一个相同的run方法,当该类调用run方法时,却不知道调用哪个类的,会产生冲突。
JAVA中可以多实现的原因在于,接口中的方法全是抽象的,没有具体的方法体,当类实现该方法时,相当于把两个类中的方法都进行了实现 ,因此不会产生冲突。