java接口和抽象类的区别举例
发布网友
发布时间:2022-05-10 17:33
我来回答
共3个回答
热心网友
时间:2023-10-19 07:41
区别点:
1)定义:抽象类是用abstract关键字修饰,包含至少一个抽象方法的类;
接口是用interface修饰的抽象方法和全局常量的集合。
2)组成:抽象类由构造方法、抽象方法、普通方法、常量和变量组成;
接口由常量和抽象方法组成。
3)使用:子类继承抽象类(extends);
子类实现接口(implements)
4)关系:抽象类可以实现多个接口;
接口不能继承抽象类,但允许继承多个接口。
5)常见设计模式:抽象类的常见设计模式是模板设计;
接口的常见设计模式是工厂设计和代理设计。
6)对象:抽象类和借口都是通过对象的多态性昌盛实例化对象。
7)局限:抽象类只能单继承;
接口没有单继承的局限。
8)实际:抽象类被用作一个模板;
接口被作为一个标准或表示一种能力;
9)选择:如果抽象类和借口都可以使用,则优先使用接口,避免单继承的局限。
10)特殊:一个抽象类中可以包含多个接口,一个接口中可以包含多个抽象类。
热心网友
时间:2023-10-19 07:42
1、抽象类是类,它的子类不能再继承其它类了,但可以实现一个和多个接口。接口不是类,它的子接口可以继承多个接口。
2、抽象类中是可以有不用abstract修饰的方法,而接口中只能有抽象方法,即方法都要用abstract修饰。
3、抽象类可以实现接口,而接口是不能继承或实现抽象类的。
有人说,接口类似于抽象类,这是指它提供的方法只有方法头,而抽象类也有这样的情况。
但实际上,区别是很大的,接口提供了一种JAVA中类不能多继承时引起的不便的一种解决方案,提高了灵活性。同时,接更有利于实现程序的扩展。
热心网友
时间:2023-10-19 07:42
抽象类可以有具体的实现方法
接口只规定他有这个方法,没有具体的实现方法