Java接口

接口的定义

抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

接口并不是类,编写接口的方式和类很相似,但是他们属于不同的概念。类描述的是对象的属性和方法。接口则包含类要实现的方法。

除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

接口无法被实例化,但可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外在java中,接口类型可用来声明一个变量,他们可以成为一个空指针,或者是被绑定在一个以此接口实现的对象。

 package Peculiar;public interface batter {public void pannal();public int get();}
package Peculiar;public class Matter implements batter{@Overridepublic void pannal() {// TODO Auto-generated method stubSystem.out.println("HELLO");}@Overridepublic int get() {// TODO Auto-generated method stubreturn 0;}}
接口与类的区别
接口的特性

接口中的每一个方法都是隐式抽象的,接口中的方法会被隐式的指定为public abstract (只能是public abstract,其他修饰符都会报错)。

接口中可以含有变量,但是接口中的变量会被隐式指定为public static final(并且只能是Public,用private修饰会报编译错误)。

接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

接口与类的相似点

一个接口可以有多个方法。

接口文件保存在.java结尾的文件中,文件名使用接口名。

接口与类的区别

接口不能实例化对象。

接口没有构造方法。

接口的实例

接口的声明

接口的声明格式如下

【可见度】interface 接口名称 【extends 其他的接口名】{

        //声明变量

        //抽象方法

}

interface关键字用来声明一个接口。

例子

public interface NameOfInterface{

        //任何类型final,static字段

        //抽象方法

}

package Peculiar;public class Matter implements batter{@Overridepublic int get() {// TODO Auto-generated method stubreturn 5;}@Overridepublic void pannal() {// TODO Auto-generated method stubSystem.out.println("dsfas");}public static void main(String args[]) {Matter matter=new Matter();matter.pannal();System.out.println(matter.get());}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/716972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AcWing 4726. 寻找数字

解题思路 在这个二插搜索树中寻找&#xff0c;4和7数量相等&#xff0c;并且大于n的最小数。 相关代码 import java.util.*;public class Main {static String s;static List<Integer> res new ArrayList<>();static long n;static long ansLong.MAX_VALUE;publ…

递归实现指数型枚举(c++题解)

题目描述 从 1~n 这 n(n<16) 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 一个整数n。 输出格式 每行一种方案。同一行内的数必须升序排列&#xff0c;相邻两个数用恰好1个空格隔开。对于没有选任何数的方案&#xff0c;输出空行。 样例 …

python 爬虫 app爬取之charles的使用

专栏系列:http://t.csdnimg.cn/WfCSx 前言 前面介绍的都是爬取 Web 网页的内容。随着移动互联网的发展,越来越多的企业并没有提供 Web 网页端的服务,而是直接开发了 App,更多更全的信息都是通过 App 来展示的。那么针对 App 我们可以爬取吗?当然可以。 App 的爬取相比 …

使用HTML5画布(Canvas)模拟图层(Layers)效果

使用HTML5画布&#xff08;Canvas&#xff09;模拟图层&#xff08;Layers&#xff09;效果 在图形处理和计算机图形学中&#xff0c;图层&#xff08;Layers&#xff09;是指将图像分成不同的可独立编辑、组合和控制的部分的技术或概念。每个图层都可以包含不同的图形元素、效…

18.题目:编号760 数的计算

题目&#xff1a; ###该题主要考察递推、递归 将该题看成若干个子问题 #include<bits/stdc.h> using namespace std; const int N20; int a[N];int dfs(int dep){int res1;for(int i1;i<a[dep-1]/2;i){a[dep]i;resdfs(dep1);}return res; }int main(){int n;cin>…

python并发 map函数的妙用

1.map是什么&#xff1f; map函数是Python中的一个内置函数&#xff0c;用于将一个函数应用到一个或多个可迭代对象的每个元素上&#xff0c;生成一个新的可迭代对象。它的一般形式是&#xff1a; map(function, iterable1, iterable2, ...)其中&#xff0c;function是一个函…

解决GCC连接器(lld)出现问题 relocation truncated to fit (重定向截断)

本文大致提点这个问题&#xff0c;有哪些可行的解决方案。 这是常见 C/C 的一类连接器错误&#xff0c;我们需要知道它一般是怎么产生的&#xff0c;才能知道如何正确的解决它。 例如&#xff1a;&#xff08;当发生这类问题时&#xff0c;连接器通常会输出这样的信息&#x…

《Spring Security 简易速速上手小册》第8章 常见问题与解决方案(2024 最新版)

文章目录 8.1 异常处理和日志记录8.1.1 基础知识详解8.1.2 重点案例&#xff1a;统一异常处理案例 Demo拓展 8.1.3 拓展案例 1&#xff1a;日志记录策略案例 Demo拓展 8.1.4 拓展案例 2&#xff1a;日志聚合案例 Demo拓展 8.2 多租户安全性问题8.2.1 基础知识详解8.2.2 重点案例…

深入Kafka client

分区分配策略 客户端可以自定义分区分配策略, 当然也需要考虑分区消费之后的offset提交, 是否有冲突。 消费者协调器和组协调器 a. 消费者的不同分区策略, 消费者之间的负载均衡(新消费者加入或者存量消费者退出), 需要broker做必要的协调。 b. Kafka按照消费组管理消费者, …

VUE3:省市区联级选择器

一、实现效果 二、代码展示 <template><div class"page"><select v-model"property.province"><option v-for"item in provinces" :key"item">{{ item }}</option></select><select v-model&…

今日学习总结2024.3.2

最近的学习状态比较好&#xff0c;感觉非常享受知识进入脑子的过程&#xff0c;有点上头。 实验室一个星期唯一一天的假期周六&#xff0c;也就是今天&#xff0c;也完全不想放假出去玩啊&#xff0c;在实验室泡了一天。 很后悔之前胆小&#xff0c;没有提前投简历找实习&…

YOLOv9有效提点|加入MobileViT 、SK 、Double Attention Networks、CoTAttention等几十种注意力机制(五)

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、本文介绍 本文只有代码及注意力模块简介&#xff0c;YOLOv9中的添加教程&#xff1a;可以看这篇文章。 YOLOv9有效提点|加入SE、CBAM、ECA、SimA…

ETH网络中的区块链

回顾BTC网络的区块链系统 什么是区块链&#xff1f;BTC网络是如何运行的&#xff1f;BTC交易模式 - UXTO ETH网络中的区块链 ETH网络的基石依旧是 区块链。上面 什么是区块链&#xff1f; 的文章依旧适用。 相比BTC网络&#xff0c;ETH网络的账户系统就相对复杂&#xff0c;所…

ZJGSU 1199 表达式计算

题目描述 在数据结构课上&#xff0c;老师给大家布置了一个表达式计算的问题 3*21*5. Its so easy!!! csw同学做了很不过瘾&#xff0c;他想求解更复杂的表达式: 比如(123456)/789. 但一时之间他想不出好的办法&#xff0c;诸位就帮帮他吧. 输入 输入包括多组数据, 每组测试…

实用工具:实时监控服务器CPU负载状态并邮件通知并启用开机自启

作用&#xff1a;在服务器CPU高负载时发送邮件通知 目录 一、功能代码 二、配置开机自启动该监控脚本 1&#xff0c;配置自启脚本 2&#xff0c;启动 三、功能测试 一、功能代码 功能&#xff1a;在CPU负载超过预设置的90%阈值时就发送邮件通知&#xff01;邮件内容显示…

【Spring连载】使用Spring Data访问 MongoDB----对象映射之属性转换器

【Spring连载】使用Spring Data访问 MongoDB----对象映射之属性转换器 一、声明式值转换器二、编程式值转换器注册三、MongoCustomConversions配置 虽然基于类型的转换已经提供了影响目标存储中某些类型的转换和表示的方法&#xff0c;但当仅考虑特定类型的某些值或属性进行转换…

js中Generator函数详解

定义&#xff1a; promise是为了解决回调地狱的难题出现的&#xff0c;那么 Generator 就是为了解决异步问题而出现的。 普通函数&#xff0c;如果调用它会立即执行完毕&#xff1b;Generator 函数&#xff0c;它可以暂停&#xff0c;不一定马上把函数体中的所有代码执行完毕…

Linux基本指令(下)

目录 1. less指令 2. head与tail指令 3. find指令 示例 4. grep指令 示例 ​编辑 5. zip/unzip 打包与压缩 示例 ​编辑 6. tar指令 7. find指令&#xff1a; -name 8. echo指令 9. 时间相关的指令 1.在显示方面&#xff0c;使用者可以设定欲显示的格式&#xff…

分布式ID(6):Redis实现分布式ID生成

Redis是一个高性能的键值数据库,它可以用于生成分布式唯一标识符。需要注意的是Redis实现ID可以用,这也是很多公司的选择。但是在redis服务器宕机的情况下,他也可能会出现重复生成ID的情况。 1 实现原理 利用Redis的原子操作:Redis提供了原子性的INCR和INCRBY命令,可用于…

使用python或AI自动分析数据关联(简介)

有一些Python库可以帮助用户自动发现数据集中的关联关系。通常这类方法被称为关联分析或关联规则挖掘&#xff0c;其中最著名的算法是Apriori和FP-Growth。 两个算法 Apriori算法&#xff1a; 这是一个用于频繁项集挖掘和关联规则学习的经典算法。Python中的mlxtend库提供了一…