Java编程:深入解析抽象类与接口的五大关键区别
抽象类和接口的区别在哪里?
1其他方法
接口方法默认是公共的,并非所有方法都可以在接口上实现(接口方法从Java8开始可以有默认实现),而类抽象可以有非接口。
抽象方法。
2杂项
接口中除了static和final变量外不能有其他变量,但抽象类中则不一定。
3个不同的数字
一个类可以实现多个接口,但只能实现一个抽象类。
接口本身可以通过extend关键字扩展多个接口。
4种不同的修饰符
接口方法的默认修饰符是public,抽象方法可以有public、protected和default修饰符(抽象方法在为了被覆盖,不能用private关键字修改)。
5个不同的设计层次
抽象是类和模式模型的抽象,而接口是行为的抽象和行为的规范。
扩展信息;
接口可以是命名空间或类的成员,并且可以包含以下成员签名:
方法、属性、索引器事件接口以继承一个或多个基接口。
当基类型列表包含基类和接口时,基类必须是列表中的第一项。
实现接口的类可以显式实现接口的成员。
显式实现的成员不能通过类实例访问,只能通过接口实例访问。
参考来源百度百科-抽象类
百度百科-接口
java中抽象类和接口的区别?
抽象类用于捕获子类的共同特征。
它不能被实例化,只能用作子类的超类。
抽象类是用于在继承层次结构中创建子类的模板。
接口是抽象方法的集合。
如果一个类实现了一个接口,那么它就会继承该接口的抽象方法。
这就像契约模型,如果你实现了这个接口,那么你必须确保使用这些方法。
界面只是一种形式,它本身不能做任何事情。
扩展信息:
抽象类通常用于表示从具体概念的分析和设计问题领域派生出来的抽象概念,这些概念不同但本质相同相同。
在编程语句中通常用abstract修饰的类就是抽象类。
在C++中,包含纯虚函数的类称为抽象类,它不能生成对象。
在Java中,包含抽象方法的类称为抽象类,它也不能生成对象。
抽象类是不完整的,只能作为基类。
在面向对象的方法中,抽象类主要用于类型隐藏和充当全局变量。
参考资料:百度百科抽象类接口