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

抽象类和接口

时间:2024-10-20 22:49:22浏览次数:9  
标签:abstract 接口 抽象 修饰 抽象类 方法

1.为什么要有抽象类?

目录

1.为什么要有抽象类?


对于一些类它只是对其子类的抽取,自己并不能表示一个对象,比如Animal类只是对动物行为和属性的提取,自己并不能表示一个对象,此时我们就可以用abstract关键字修饰这个类,那么这个类就只能被继承,自己不能创建出一个对象。我们把被abstract修饰的类叫做抽象类。

2.抽象类如何使用?什么是抽象方法?

抽象类:

1.被abstract修饰的类叫做抽象类

2.被abstract修饰的类不能创建对象

抽象方法:

对于一些方法我们在父类中并不需要实现,这些方法是我们在子类中进行重写的,那么我们就可以用abstract修饰这个方法,那么这个方法就可以没有具体实现。

像这样的方法就是抽象方法。

1抽象方法要被abstract所修饰。

2抽象类可以没有抽象方法,但是抽象方法必须定义在抽象类中。

3.抽象方法在子类中必须被重写

4.如果抽象类在子类中不想被重写,那么这个子类必须被abstract修饰,但最终必须被重写。

3.抽象类和普通类的区别

抽象类不能实例化对象,只能用来被继承,抽象类中可以定义抽象方法,抽象方法可以没有具体实现。

4.什么是接口

像我们电脑的鼠标插口、USB接口

接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型

比如说行为属性跑,相对于继承来说,只有父类的子类才能继承,但是对于接口来说,只有我们的类有这个行为,就可以实现我们的接口

5如何使用我们的接口

1.将class关键字换成 interface 关键字,就定义了一个接口

2.接口和抽象类一样,不能实例化对象

3.接口当中的成员变量默认是public static final修饰的,不写的时候也一样

4.接口的方法如果有具体实现只能被static或default修饰,这些方法默认为public修饰,如果不想实现这些方法,就默认为抽象方法,这些方法默认都是public abstract修饰的

5.一个类和一个接口的关系是我们使用implements来实现这个接口

6.实现我们的接口之后,我们就要重写我们的抽象方法

7.一个类可以实现多个接口

8. 创建接口时, 接口的命名一般以大写字母 I 开头.

9. 接口的命名一般使用 "形容词" 词性的单词.

10.  阿里编码规范中约定 , 接口中的方法和属性不要加任何修饰符号 , 保持代码的简洁性 注意:在实现接口的时候,重写接口中的方法,方法默认没有public修饰,修饰符必须大于等于接口中的方法,而接口中的方法是用pubilc修饰的,所以我们实现的时候必须用public修饰。 11.接口中不能有静态代码块和构造方法。

 

 

 

标签:abstract,接口,抽象,修饰,抽象类,方法
From: https://blog.csdn.net/2301_80079026/article/details/143099057

相关文章

  • pytest+python+requests+allure接口自动化
    文件层级:接口层,用例层,公共层,报告层,conftest.py注意:1.需要被调用的类方法,使用@classmethod,这样调用时,无需实例化;      2.保持登录,使用requests.session;方式一:conftest.py:1.登录:fixture(scope=session)写登录方法;2.参数关联:定义空字典,使用fixture(scope=function),闭......
  • Linux DMA Engine framework(2)_功能介绍及解接口分析
    1.前言从我们的直观感受来说,DMA并不是一个复杂的东西,要做的事情也很单纯直白。因此Linuxkernel对它的抽象和实现,也应该简洁、易懂才是。不过现实却不甚乐观(个人感觉),Linuxkerneldmaengineframework的实现,真有点晦涩的感觉。为什么会这样呢?如果一个软件模块比较复杂、晦涩,要......
  • 用于快速创建机器学习模型的 Web 接口或用户界面的python库:gradio
    一、简介gradio是一个Python库,用于快速创建机器学习模型的Web接口或用户界面,主要优点是允许开发者通过少量的代码创建交互式的Web界面,用户能够上传输入数据并查看模型的输出结果。二、主要特性易于使用:只需几行代码就可以创建接口,不需要前端开发知识。支持多种输入......
  • Collection集合(实际是一个接口)
    Collection集合介绍Collection【接口】:我们通过帮助文档发现,Collection是一个接口,不能直接new对象根据元素是否可以发生重复,继续分类-List【接口】元素可以发生重复,且有索引的概念ArrayList-Set【接口】元素不可以发生重复,没有索引借助ArrayL......
  • 接口
    什么是接口语法:使用interface来定义接口当中的成员变量默认是publicstaticfinal的,接口中的每一个方法默认是抽象方法,接口不能存在普通的方法,要想存在普通的只有被static和default修饰的方法,接口不能通过new关键字进行实例话,类和接口是可以通过implements来实现关系的,接口......
  • stm32入门教程--TIM编码器接口
    TIM编码器接口是一种重要的硬件接口,主要用于接收增量(正交)编码器的信号。以下是对TIM编码器接口的详细介绍:一、功能与作用TIM编码器接口可以接收由编码器旋转产生的正交信号脉冲。这些信号脉冲被用来自动控制一个计数器(CNT)的自增或自减,从而能够指示编码器的位置、旋转方向和......
  • 第38篇 net8接口调试方式
    .net提供了内置的接口调试方式1.新建.netcorewebapi控制台应用程序2.封装好jwt验证机制token令牌验证机制///<summary>///登录///</summary>///<paramname="request"></param>///<returns></returns>///<exceptioncref="N......
  • Chromium 中chrome.contextMenus扩展接口实现分析c++
    一、chrome.contextMenus使用 chrome.contextMenus API向GoogleChrome的上下文菜单中添加项。您可以选择从右键菜单中添加的对象类型,例如图片、超链接和页面。权限contextMenus您必须在扩展程序的清单中声明 "contextMenus" 权限,才能使用该API。此外,您应指定一个......
  • 泛型<>类 方法 接口
    泛型类:对我们=创建的类进行规范形式点击查看代码classDemo1<E>{publicvoidgetData(Ee){System.out.println("这是一串很厉害的咒语"+e);}}publicclassFanXingDemo1{publicstaticvoidmain(String[]args){Demo1<String>s=newDemo1<>();......
  • 神经技术:解码大脑与人机接口的未来
    神经技术(Neurotechnology)是一个涵盖广泛的领域,旨在研究、理解、增强或修复大脑与神经系统的功能。它结合了神经科学、工程学、计算机科学和生物技术,通过开发各种工具与技术,帮助我们更深入地理解大脑的运作机制,并为治疗神经疾病、增强人类认知能力、提升人机交互体验提供全新的......