Java面向对象基础知识之抽象类和接口

 更新时间:2021年11月08日 14:18:55   作者:一指流砂~  
这篇文章主要介绍了Java面向对象的抽象类和接口,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有很好的帮助,需要的朋友可以参考下

抽象类(abstract):

抽象类不能创建实例,它只能作为父类被继承。抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类的随意性。

(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法

(2) 抽象类不能被实例化

(3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类

(4) 具体派生类必须覆盖基类的抽象方法

(5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们

接口(interface):

(1) 接口不能被实例化

(2) 接口只能包含方法声明

(3) 接口的成员包括方法、属性、索引器、事件

(4) 接口中不能包含常量、字段(域)、构造函数、析构函数、静态成员

抽象类和接口的区别:

(1)抽象类可以有构造方法,接口中不能有构造方法。

(2)抽象类中可以有普通成员变量,接口中没有普通成员变量

(3)抽象类中可以包含静态方法,接口中不能包含静态方法

(4) 一个类可以实现多个接口,但只能继承一个抽象类。

(5)接口可以被多重实现,抽象类只能被单一继承

(6)如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法

抽象类和接口的相同点:

(1) 都可以被继承

(2) 都不能被实例化

(3) 都可以包含方法声明

(4) 派生类必须实现未实现的方法

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 使用@Validated和@Valid 解决list校验的问题

    使用@Validated和@Valid 解决list校验的问题

    这篇文章主要介绍了使用@Validated和@Valid 解决list校验的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java 重试框架 Sisyphus 配置的两种方式

    Java 重试框架 Sisyphus 配置的两种方式

    这一节让我们一起学习下 sisyphus 基于函数式的配置和注解式的配置。为了满足更加方便的配置,Retryer 类提供了许多可以配置的信息。下面一起进入文章了解详情内容
    2021-11-11
  • Java拦截器Interceptor实现原理及代码示例

    Java拦截器Interceptor实现原理及代码示例

    本文详细讲解了Java拦截器Interceptor实现原理及代码示例,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • SpringBoot实现IP地址解析的示例代码

    SpringBoot实现IP地址解析的示例代码

    本篇带大家实践在springboot项目中获取请求的ip与详细地址,我们的很多网站app中都已经新增了ip地址显示,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Java虚拟机处理异常的最佳方式

    Java虚拟机处理异常的最佳方式

    这篇文章主要给大家介绍了关于Java虚拟机处理异常的最佳方式,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Java方法参数是引用调用还是值调用?

    Java方法参数是引用调用还是值调用?

    Java方法参数是引用调用还是值调用?这是一个值得思考的问题。阅读本文,找出答案
    2016-02-02
  • 测试springboot项目出现Test Ignored的解决

    测试springboot项目出现Test Ignored的解决

    这篇文章主要介绍了测试springboot项目出现Test Ignored的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 利用session实现简单购物车功能

    利用session实现简单购物车功能

    这篇文章主要为大家详细介绍了利用session实现简单购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 解决@Autowired注入空指针问题(利用Bean的生命周期)

    解决@Autowired注入空指针问题(利用Bean的生命周期)

    这篇文章主要介绍了解决@Autowired注入空指针问题(利用Bean的生命周期),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java类继承关系中的初始化顺序实例详解

    Java类继承关系中的初始化顺序实例详解

    这篇文章主要介绍了Java类继承关系中的初始化顺序,结合实例形式详细对比分析了Java非继承关系中的初始化与继承关系中的初始化相关原理与操作技巧,需要的朋友可以参考下
    2019-09-09

最新评论