一个类顶层类是接口或抽象类有什么本质区别吗?
看见一个数组list 他顶层是一个抽象类,抽象类顶层还有顶层接口。
一个数组他顶层是接口,和他顶层是抽象类除了,顶层是接口还可以去继承其它类外还有别的用处吗?
一个类顶层类是接口或抽象类有什么本质区别吗?
看见一个数组list 他顶层是一个抽象类,抽象类顶层还有顶层接口。
一个数组他顶层是接口,和他顶层是抽象类除了,顶层是接口还可以去继承其它类外还有别的用处吗?
我认为你先得了解接口和抽象类的区别:
接口只能定义方法,不能定义方法里面的具体实现(Java8之前);
抽象类是除了被实例化,和普通类一模一样的类;
因此接口更像是一种约定,而抽象类的作用更偏向是放通用的代码,防止冗余。
15 回答11.8k 阅读✓ 已解决
7 回答2.4k 阅读
8 回答2.9k 阅读✓ 已解决
9 回答1.8k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
7 回答1.6k 阅读
3 回答1.6k 阅读✓ 已解决
接口是一种规范,是在设计代码时设计出其主体功能,就像对于集合来说,不论是ArrayList,还是LinkedList都有其其通用的功能,添加,删除,修改等,这些在设计接口的时候都设计好了。
关于抽象类,就是把能够通用的功能做实现,不能通用的功能继续抽象,到其实体自类中根据实体类的特征去做实现,
就比如有一个接口I,它里面有两个抽象方法add(),put(),其有两个实体类A,B继承了该接口,做了实现,然后你发现在实体类中A,B代码中add()是一样的,但put()是不一样的,考虑代码设计不要冗余和做重复的工作,那你是不是应该让add()代码能够只写一遍,但是对于put()方法还必须分开写,这时候你还不能在接口中写,是不是需要抽象类了。