【精选】Java面向对象进阶——接口

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

接口的定义和使用

练习

编写带有接口和抽象类的标准JavaBean类

代码


接口的定义和使用

  • 接口用关键字interface来定义

    public interface 接口名{}

  • 接口不能实例化

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

    public class 类名implements 接口名 {}

  • 接口的子类(实现类)

    要么重写接口中的所有抽象方法

    要么是抽象类

注意1:接口和类的实现关系,可以单实现,也可以多实现。 public class 类名implements 接口名1,接口名2 {}

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

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

练习

编写带有接口和抽象类的标准JavaBean类

青蛙 属性:名字,年龄 行为:吃虫子,蛙泳

狗 属性:名字,年龄 行为:吃骨头,狗刨

兔子 属性:名字,年龄 行为:吃胡萝卜

代码

父类:animal

package demon5;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 demon5;public interface swim {public void swim();
}

子类:rabbit

package demon5;public class rabbit extends animal{public rabbit() {}public rabbit(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("兔子在吃胡萝卜");}
}

子类:frog

package demon5;public class frog extends animal implements swim{public frog() {}public frog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("青蛙在吃虫子");}@Overridepublic void swim() {System.out.println("青蛙在蛙泳");}
}

子类:dog

package demon5;public class dog extends animal implements swim{public dog() {}public dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("狗在吃骨头");}@Overridepublic void swim() {System.out.println("狗在狗刨");}
}

测试类:test

package demon5;public class test {public static void main(String[] args) {//创建对象frog f = new frog("小青",3);System.out.println(f.getName()+ "," + f.getAge());f.eat();f.swim();rabbit r = new rabbit("小白",2);System.out.println(r.getName()+ "," + r.getAge());r.eat();
//        r.swim();}
}

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

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

相关文章

TCP_IP(6)

网络层 在复杂的网络环境中确定一个合适的路径. IP协议 与TCP协议并列,都是网络体系中最核心的协议. 基本概念 主机:配有IP地址,但是不进行路由控制的设备; 路由器:即配有IP地址,又能进行路由控制; 节点:主机和路由器的统称; 协议头格式 4位版本号(version):指定IP协议的版…

hope实验室预备役第三次测试题解

目录 1.选数 2.奇怪的电梯 3.无线通讯网 4. Rotate Colored Subsequence 5.LOWER 6.Error Correction 1.选数 P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 已知 n 个整数 1,2,⋯ ,x1​,x2​,⋯,xn​,以及 1 个整…

C# VS2022+WinForm+Oracle19.3+Excel,根据数据库表定义书生成SQL

目标: 用Excel写数据库的表的定义书,用该工具生成SQL,在客户端执行,把表结构导入数据库,生成真正的表 Github代码下载 目录 0.完成下面开发环境的准备1 操作系统Win11 专业版 21H22 oracle 19.33 Visual Studio Commun…

2024年【安全员-B证】考试报名及安全员-B证复审模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 安全员-B证考试报名考前必练!安全生产模拟考试一点通每个月更新安全员-B证复审模拟考试题目及答案!多做几遍,其实通过安全员-B证实操考试视频很简单。 1、【多选题】下列临边防护栏…

蓝桥杯:C++排序

排序 排序和排列是算法题目常见的基本算法。几乎每次蓝桥杯软件类大赛都有题目会用到排序或排列。常见的排序算法如下。 第(3)种排序算法不是基于比较的,而是对数值按位划分,按照以空间换取时间的思路来排序。看起来它们的复杂度更好,但实际…

linux的make和makefile

一.什么是make和makefile makefile作用: 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重…

【python之美】减少人工成本之批量修改TXT文件名称_2

批量修改文件名称 怎么批量创建txt文件,看上期特产 源文件如下: 批量修改代码 import ospath "C:\\Users\\Administrator\\Desktop\\text\\" file_names os.listdir(path) print(file_names)i 1 for file_name in file_names:name fil…

VueCLI核心知识4:动画效果、过渡效果

1 动画效果 【代码】 <template><div><button click"isShow !isShow">显示/隐藏</button><!-- <transition name"xxx" :appear"true"> 可以指定name属性&#xff0c;也可以不指定&#xff0c;name属性在有…

数据分析 | 手敲皮尔逊相关系数计算代码 | Python

import random random.seed(42) import numpy as np计算均值 def mean(x):return sum(x) / len(x)计算偏差 def derta(x):x_bar mean(x)result [x_i - x_bar for x_i in x]return result计算协方差 def covariance(a, b):dot_list [a_i * b_i for a_i, b_i in zip(derta(a),…

Codeforces Round 926 (Div. 2)(A~D)

文章目录 ABCD A 输出最大值减最小值&#xff0c;或者排序算一下答案 #include <bits/stdc.h> #define int long long #define rep(i,a,b) for(int i (a); i < (b); i) #define fep(i,a,b) for(int i (a); i > (b); --i) #define pii pair<int, int> #d…

拿捏单链表

目录 引言 一&#xff1a;链表的定义 二&#xff1a;单链表的定义 三&#xff1a;单链表的增删查改 1.单链表增删查改及遍历的声明 注&#xff1a;在测试中创建指向头结点的指针plist 2.二级指针应用的说明 3.单链表的遍历 4.创建节点 5.单链表的插入 (1)头插 …

抖音私信自动回复工具使用教程!

该工具基于网页版抖音&#xff0c;可以用于抖音个人号等任何权限的账号&#xff01; 获取软件 联系我的v 信&#xff1a;llike620 基本使用 了解GPT的&#xff0c;可以配置FastGPT这种训练知识库的AI进行回复 不了解的&#xff0c;可以配置关键词回复 点击抖音私信按钮&a…