抽象类和接口的异同:
概念和定义上的不同:
接口是对动作,行为,功能(方法)的抽象,接口表示的是,这个对象能做什么
抽象类是对某些类的属性,方法向上不断提取的抽象,抽象类表示的是,这个对象是什么。
举例说明:
定义中国人,美国人,英国人这三个类,他们都是人,所以抽象的类就是人类
黑马的学生会敲代码,传智的学生也会敲代码,可以把“敲代码”定义成一个接口,然后让这些类去实现它.
一个类只能继承一个类(即某一个人是中国人的同时不可能是美国人),但是可以实现多个接口(即实现吃饭接口,打篮球接口和敲代码接口等)
牢记以下几点:
1. 接口中所有的方法都是抽象的。而抽象类中不一定都是抽象方法。
2. 接口定义方法,不能实现,而抽象类可以实现部分方法
3. 接口中基本数据类型为static 而抽类象不是的
考虑事物的本质使用抽象类,考虑事物的功能和作用使用接口
疑问:
接口可以继承,抽象类不能继承这样的理解正确吗?
如果抽象类不能继承,那么Object类和抽象类又是什么关系,理论上应该要抽象类应该继承Object ?
请路过的大神指点迷津!
|
|