java中接口和抽象类的区别

来源:互联网 发布:java高级工程师简历 编辑:程序博客网 时间:2024/06/05 19:15
一直觉得接口和抽象类是两个很一样的东西,但是最近写的一些代码却让自己开始有所思考。纵观抽象类和接口的用处,主要用来给继承的,然后实现一定的方法,但是为什么要要有两个如此类似的两个东西的存在。
接口的优势:
Java是只支持单继承的,这样一方面大大的简化了Java,但是也带来了一些弊端,因为有时候需要的方法不是单继承就能解决的,而是需要实现很多不同的方法。而这个时候接口久出现了,你完成可以实现很多的接口。是的,接口最明显的优势是“实现了Java的多继承”。
抽象类的优势:
抽象类的功能接口都能实现,那为什么还需要抽象类呢?抽象类有一个重要的性质是,抽象类中的方法是可以有实体的。也就是说,如果你需要一个类似接口的功能时,但是方法里面很大的一部分是重复的,也就是说如果你还是使用接口来实现的话,那样就会在每一个实现接口的类中重复的写很多的代码。如果用抽象类,你就完全可以只需要写在抽象类中就行了。
所以呢,Java中设计抽象类和接口同时存在是有很大的意义的。 
0 0
原创粉丝点击