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



...全文
相关推荐
详解java为什么不允许类多重继承却允许接口多重继承
主要介绍了java为什么不允许类多重继承却允许接口多重继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java语言程序设计课程实验报告与问题解答全栈式资源库_涵盖基本程序设计选择循环一维数组对象和类面向对象继承多态异常处理字符串文本IO抽象类接口等八大核心实验模块的详细报告代码示例.zip
Java语言程序设计课程实验报告与问题解答全栈式资源库_涵盖基本程序设计选择循环一维数组对象和类面向对象继承多态异常处理字符串文本IO抽象类接口等八大核心实验模块的详细报告代码示例.zip
java:接口和抽象类练习
抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。 父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。 在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。 接口: 接口(英文:
抽象类 接口
抽象类 接口
浅析Java抽象类和接口的比较
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。


