接口interfance的基本使用

一.为什么有接口?

接口:就是一种规则。

二.接口的定义和使用

1.接口用关键字interface来定义

public interface 接口名{}

2.接口不能实例化

3.接口和类之间是实现关系,通过implements关键字表示

4.接口的子类(实现类)

注意1:

接口和类的实现关系,可以单实现,也可以多实现。

public class 类名 implements 接口名1,接口名2{

}

注意2:

实现类还可以在继承一个类的同时实现多个接口。

publi class  类名 extends  父类 implements  接口名1,接口名2{

}

三.案例

Animal类:

package day;public abstract class Animal {private String  name;private  int age;public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public abstract void eat();
}

  Swim接口:

package day;public interface Swim {public abstract void swim();
}

Dog类:

package day;public class Dog extends Animal implements Swim {@Overridepublic void eat() {System.out.println("狗吃骨头");}@Overridepublic void swim() {System.out.println("狗刨");}
}

Forg类:

package day;public class Test {public static void main(String[] args) {Forg f = new Forg("小青", 1);System.out.println(f.getName() + "," + f.getAge());f.eat();f.swim();//        创建兔子的对象Rabbit r = new Rabbit("小白", 2);System.out.println(r.getAge() + r.getAge());r.eat();}
}

Raabit类:

package day;public class Rabbit extends Animal {@Overridepublic void eat() {System.out.println("兔子在吃胡罗波");}public Rabbit() {}public Rabbit(String name, int age) {super(name, age);}
}

Test测试类:

package day;public class Test {public static void main(String[] args) {Forg f = new Forg("小青", 1);System.out.println(f.getName() + "," + f.getAge());f.eat();f.swim();//        创建兔子的对象Rabbit r = new Rabbit("小白", 2);System.out.println(r.getAge() + r.getAge());r.eat();}
}

运行的结果:

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

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

相关文章

43.自定义线程池(一)

ThreadPool是线程池,里面是一定数量的线程,是消费者。 BlockingQueue阻塞队列,线程池中的线程会从阻塞队列中去拿任务执行。任务多了线程池处理不过来了,就会到Blocking Queue中排队,等待执行。链表结构,特…

Netfilter/iptables

1. Netfilter组件图 https://en.wikipedia.org/wiki/Netfilter 其中: etables作用于数据链路层,arptables针对ARP, iptables/ip6tables针对IP层。 nftables 是新的包过滤组件. nft是相对应的新的用户态组件,用于替换etables,arptables,ipt…

从tensorflow导入EarlyStopping能运行但是一直提示未解析

在pycharm中导入早停机的库时,碰上一个问题 from tensorflow.keras.callbacks import EarlyStopping这一条代码中,EarlyStopping一直有个红色波浪线,代表着找不到这个库,提示未解析啥的。 但是运行是可以运行的,虽然可…

GPT-4o如何重塑AI未来!

如何评价GPT-4o? 简介:最近,GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价,包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 GPT-4o似乎是一个针对GPT-4模型进行优化的版本,它在性能、准确性、资源效率以及安全和…

Anolis OS 8.9安装Linux 服务器运维管理面板“1Panel”

一、简介 1.Linux 服务器运维管理面板“1Panel” 使用go语言编写 2.很多的项目的应用都是采用 docker 技术来实现,这让 Linux 服务器的运维管理更简单、更安全。 3.1Panel 采纳最新的前端技术,并通过精心设计的UX 交互,为用户提供更好的用户…

Linux系统tab键无法补齐命令-已解决

在CentOS中,按下tab键就可以自动补全,但是在最小化安装时,没有安装自动补全的包,需要安装一个包才能解决 bash-completion 1.检查是否安装tab补齐软件包(如果是最小化安装,默认没有) rpm -q ba…

关于sprintboot3版本以上中的swagger3.0的使用

文章目录 1.配置pom.xml(添加以下内容,记住点一下右上方maven下载)2.application.properties添加以下配置信息3.新建swagger的config配置信息,文件位置如下4.添加接口注释信息访问swagger文档 1.配置pom.xml(添加以下内容,记住点一下右上方ma…

抽象一个通用的配置冲突解决方案

最近的开发项目中遇到了一个关于配置冲突的解决和产品设计,一直以来都没有处理好。最近抽空整理了一下思路和设计,并做了抽象,后续的类似使用,可以做到直接复用。 思路和代码见:github地址:https://github…

基于java18多端展示+ idea hbuilder+ mysql家政预约上门服务系统,源码交付,支持二次开发

基于java18多端展示 idea hbuilder mysql家政预约上门服务系统,源码交付,支持二次开发 家政预约上门系统是一种通过互联网或移动应用平台,为用户提供在线预约、下单、支付和评价家政服务的系统。该系统整合了家政服务资源,使用户能…

RabbitMQ三、springboot整合rabbitmq(消息可靠性、高级特性)

一、springboot整合RabbitMQ(jdk17)(创建两个项目,一个生产者项目,一个消费者项目) 上面使用原生JAVA操作RabbitMQ较为繁琐,很多的代码都是重复书写的,使用springboot可以简化代码的…

Vue3集成Phaser-飞机大战游戏(设计与源码)

文章目录 引言项目初始化游戏设计和结构游戏程序实现Vue页面嵌入PhaserPreloader 场景加载游戏场景功能实现功能类定义Boom爆炸类Bullet子弹类Enemy敌军类Player玩家类End游戏结束类 总结 更多相关内容可查看 引言 飞机大战(也被称为射击游戏或空战游戏&#xff09…

轻松上手MYSQL:优化MySQL慢查询,让数据库起飞

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索MYSQL慢查询之旅✨ 👋 大家好!我是你们的…

如何优雅简洁的使用YOLOv8

如何优雅简洁的使用YOLOv8 目录训练调用代码如何一键训练多个yamlexport模型测试多个yaml是否运行正常predict本文提供了 如何优雅简洁的使用YOLOv8 🗝️YOLOv8实战宝典--星级指南:从入门到精通,您不可错过的技巧   -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局…

Crosslink-NX器件应用连载(11): 图像(数据)远程传输

作者:Hello,Panda 大家下午好,晚上好。这里分享一个Lattice Crosslink-NX器件实现图像或数据(卫星数据、雷达数据、ToF传感器数据等)远程传输的案例(因为所描述的内容颇杂,晒图不好晒&#xff…

文件批量改后缀名,轻松实现TXT到DOCX格式转换,高效管理您的文件库!

文件处理与管理已成为我们日常生活和工作中不可或缺的一环。然而,面对海量的文件,如何高效地进行格式转换和管理,却成为了一道难题。今天,我们将为您揭晓一个神奇的解决方案——文件批量改后缀名功能,让您轻松实现TXT到…

【docker】docker的安装

如果之前安装了旧版本的docker我们需要进行卸载: 卸载之前的旧版本 卸载 # 卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc # 卸载历史版本 apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker…

linux文件共享之samba

1.介绍 Samba是一个开源文件共享服务,可以使linux与windows之间进行文件共享,可以根据不同人员调整共享设置以及权限管理。 2.安装 一个命令就OK了:yum install -y samba [rootansible01 ~]# yum install -y samba 已加载插件:l…

Python爬虫之简单学习BeautifulSoup库,学习获取的对象常用方法,实战豆瓣Top250

BeautifulSoup是一个非常流行的Python库,广泛应用于网络爬虫开发中,用于解析HTML和XML文档,以便于从中提取所需数据。它是进行网页内容抓取和数据挖掘的强大工具。 功能特性 易于使用: 提供简洁的API,使得即使是对网页结构不熟悉…

【一刷《剑指Offer》】面试题 31:连续子数组的最大和

牛客对应题目链接:连续子数组最大和_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接:53. 最大子数组和 - 力扣(LeetCode) 核心考点 :简单动归问题。 一、《剑指Offer》对应内容 二、分析题目 1、贪心 从前往后迭…

关于Posix标准接口和Nuttx操作系统

基本介绍 主要参考: Linux 系统中的 POSIX 接口详细介绍_linux posix-CSDN博客 POSIX(Portable Operating System Interface,可移植操作系统接口)是由 IEEE(Institute of Electrical and Electronics Engineers&#x…