首页 > 其他分享 >抽象类与接口

抽象类与接口

时间:2024-01-22 10:45:57浏览次数:37  
标签:接口 实例 抽象 抽象类 父类 方法

一.抽象类与接口的定义

  1.抽象类:如果一个类中有被abstract修饰的方法,那么该类也要被abstract修饰,并且抽象类的抽象方法需要子类继承抽象类通过重写抽象方法实现,那么该类就是抽象类。

  2.接口:接口是抽象方法的集合,接口中只有抽象方法,被interface修饰。

二.抽象类与接口的特殊点:

  1.抽象类可以有成员变量、非抽象方法和构造器,但是抽象类不能被实例化(关于抽象类为什么不能被实例化可以看:抽象类为什么不能被实例化? - 知乎 (zhihu.com))。

  既然抽象类不能被实例化,那抽象类为什么要有构造方法?因为实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。

  2.接口不能有抽象方法,因为接口中的成员变量默认被public static final修饰,不能被修改,并且接口只能被接口继承,接口是不能被实例化的,所以接口没有构造方法。

  3.一个类可以实现多个接口,但是只能继承一个父类,这个父类可以是抽象类。

  4.接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。

  5.抽象级别(从高到低):接口>抽象类>实现类。

  6.抽象类主要是用来抽象类别,接口主要是用来抽象方法功能。

标签:接口,实例,抽象,抽象类,父类,方法
From: https://www.cnblogs.com/Noob-Green-Hand/p/17979463

相关文章

  • Java并发基础:Executor接口和Executors类的区别
    Executor是Java中的一个接口,它定义了一种将任务提交与任务执行机制(包括线程管理、调度等)分离的方式,Executors是一个工具类,它提供了多个静态工厂方法,用于创建不同类型的Executor实例。代码案例下面展示了如何使用Executor接口来执行异步任务,如下代码案例:importjava.util.conc......
  • Micro 接口运行流程
    1.程序运行2初始化接口清单(TSysInterMst)3.静态函数(GlobalManager)-----------------------------------1.控制器(Run)2.账号/密码/接口名/参数(Body),使用zip压缩传参3.验证账号/密码4.验证接口名/参数5.执行接口(接口名、参数)6.默认函数(ImportJson)6.1.取字段映射(TSysInterMst、TSysInter......
  • OSPF认证(区域认证、接口认证)
     作者:兔砸网工-阿毛1.OSPF认证概述    OSPF认证分为区域认证与接口认证,当使用区域认证方式时,一个区域中所有的路由器在该区域下的认证模式和密码必须一致,不一致则无法建立OSPF邻居关系;当使用接口认证方式时,相邻的路由器之间需要设置同样认证模式和密码,不一致则无法建立OSPF邻......
  • Intel Arrow Lake处理器还是8+16 24核心:接口换LGA1851
    Intel已经确认,将在今年内发布未来两代处理器ArrowLake、LunarLake,其中前者将弥补MeteorLake的不足,同时用于笔记本、桌面、服务器,现在它的核心规格流出了。这份曝光的材料再次证实,MeteorLake原本确实规划了桌面版,只是因为性能不达标而取消,ArrowLake则早就内部排序好了叫做15......
  • Go语言核心36讲 41 | io包中的接口和工具 (下)
    上一篇文章中,我主要讲到了io.Reader的扩展接口和实现类型。当然,io代码包中的核心接口不止io.Reader一个。我们基于它引出的一条主线,只是io包类型体系中的一部分。我们很有必要再从另一个角度去探索一下,以求对io包有更加全面的了解。下面的一个问题就与此有关。知识扩展问题:i......
  • Go语言核心36讲 40 | io包中的接口和工具 (上)
    我们在前几篇文章中,主要讨论了strings.Builder、strings.Reader和bytes.Buffer这三个数据类型。知识回顾还记得吗?当时我还问过你“它们都实现了哪些接口”。在我们继续讲解io包中的接口和工具之前,我先来解答一下这个问题。strings.Builder类型主要用于构建字符串,它的指针类型......
  • macOS 查看网络接口信息
    networksetup-listallhardwareports执行结果:HardwarePort:EthernetAdapter(en4)Device:en4EthernetAddress:6a:d9:f9:5e:a8:e6HardwarePort:EthernetAdapter(en5)Device:en5EthernetAddress:6a:d9:f9:5e:a8:e7HardwarePort:EthernetAdapter(en6)D......
  • Go语言核心36讲 14 | 接口类型的合理运用
    你好,我是郝林,今天我们来聊聊接口的相关内容。前导内容:正确使用接口的基础知识在Go语言的语境中,当我们在谈论“接口”的时候,一定指的是接口类型。因为接口类型与其他数据类型不同,它是没法被实例化的。更具体地说,我们既不能通过调用new函数或make函数创建出一个接口类型的值,也......
  • 一文搞清楚Java中的包、类、接口
    写在开头包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。Java中的包Java定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person)只是......
  • 软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
    测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供1v1私教指导,BAT级别的测试管理大咖量身打造职业规划。什么是路由路由是将URL地......