day17 enum abstract interface 枚举 抽象 接口

news2024/11/24 21:00:00

一、枚举 enum

 枚举本来的面目

创建Season类, 所有类都默认继承Object,写不写都一样

声明属性 :季节的名字、 季节的描述,

因为枚举的对象是看的见的客观事物,

想让它的属性不可修改 使用 final修饰表示最终的 ,也是唯一的不可更改的

重载构造函数,传入形式参数,目的在于使用构造方法创立季节类对象

时引入相应的季节名和描述属性。

 穷举所有季节对象。

 重写toString方法,否则测试main方法中输出的是地址

 


 基本格式

 

 可以看到枚举输出结果就是写好的的对象。


枚举类类型 中应用 switch case

 

 


二、抽象

抽象规则复杂,形式简单

怎么写一个抽象方法

 父类方法当中 前加abstract  

方法体和大括号删除

 注意写了抽象方法,类也变成了抽象类,否则报错和人的脚一样,脚残疾了,人也必须是残疾的。

 具体规则

1. 抽象方法

   1. 由abstarct修饰的方法叫做抽象方法
   2. 抽象方法没有方法体,连{}都没有
   3. 抽象方法必须放在抽象类中
   4. 抽象方法必须被重写
   5. 抽象方法可以被重载(既可以被抽象方法重载,也可以被非抽象方法重载)
   6. 抽象方法不可以被 static, final ,private, 
      1. 因为final 和private修饰的方法不可以重写,但是抽象方法必须被重写,所以不可以用final和private修饰
      2. 因为static修饰的方法不能被重写,而抽象方法必须被重写

2. 抽象类

   1. 被abstract修饰的类叫做抽象类
   2. 包含抽象方法的类一定是抽象类,但是不包含抽象方法的类也可以是抽象类
   3. 抽象类不能被实例化(不能new 对象)
   4. 抽象类可以定义任意变量和方法,常量
   5. 抽象类必须被继承
      1. 必须重写抽象类中的抽象方法-------------------变不完整为完整
      2. 子类如果不想重写父类的抽象法,那么子类必须是抽象类
   6. 抽象类的意义
      1. 封装了子类共有的属性和方法 -------------提高代码的复用性
      2. 可以包含抽象方法,为所有的子类提供了统一的方法(名字统一),强制必须重写


三、接口

怎么创建接口?

通过implements 关键字 创建 接口类

与class类不同 

接口创建的属性

默认是常量  且常量名都必须大写,声明的同时必须赋值

属性默认带有 public static final ,写不写都在

接口创建的方法

默认是抽象方法 在接口里甚至可以省略abstract 

1.8之后,可以写入实例方法,必须由default修饰

为什么引入接口?

主要针对父类当中有些方法,多个子类中有的有这个

方法可以继承,有的又没有这个方法继承无用,

创建接口专门对接某个子类,给子类提供特有的抽象方法。

接口也可以理解为扩充额外的功能

 写一个电脑类

package day17.Interface02;

public class Computer {
    private Usb[] usb = new Usb[3];

//    public Usb getUsb() {
//        return  this.usb[0];
//    }

    public void setUsb(Usb usb1, Usb usb2, Usb usb3) {

        this.usb[0] = usb1;
        this.usb[1] = usb2;
        this.usb[2] = usb3;

    }


    public void on() {
        System.out.println("开机");
        if (usb != null) {
            for (int i = 0; i < usb.length; i++) {
                this.usb[i].service();
            }

        }
    }
}
写一个额外功能类
package day17.Interface02;

public class KeyBored implements Usb{
    private String name;

    public KeyBored() {
    }

    public KeyBored(String name) {
        this.name = name;
    }

    @Override
    public void service() {
        System.out.println("录入文字");
    }
}

 

写一个接口类 类型 

 运行

 

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

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

相关文章

2023年Q2天猫洗衣机行业品牌销售排行榜(淘宝天猫数据)

洗衣机作为普及率极高的家电之一&#xff0c;如今已经成为我们生活中不可或缺的一部分。由于洗衣机的普及率较高&#xff0c;因此虽其市场规模庞大&#xff0c;但如今要使洗衣机呈现规模化增长的可能性还是比较小的。不过&#xff0c;随着用户需求及产品的升级&#xff0c;洗衣…

Android Socket使用TCP协议实现手机投屏

本节主要通过实战来了解Socket在TCP/IP协议中充当的是一个什么角色&#xff0c;有什么作用。通过Socket使用TCP协议实现局域网内手机A充当服务端&#xff0c;手机B充当客户端&#xff0c;手机B连接手机A&#xff0c;手机A获取屏幕数据转化为Bitmap&#xff0c;通过Socket传递个…

打造专属花店展示小程序

在当今社会&#xff0c;微信小程序已经成为了各行各业拓展客户资源的利器&#xff0c;而花店行业也不例外。通过打造一个独特的花店小程序&#xff0c;你可以为你的花店带来更多的曝光和客户资源。那么&#xff0c;如何制作一个专属的花店小程序呢&#xff1f;下面我们就来一步…

领航优配:股票分红为什么股价下降?分红有什么好处?

股票分红是一种报答股东的方法&#xff0c;也是一种表现公司价值的方法。那么股票分红为什么股价下降&#xff1f;分红有什么优点&#xff1f;领航优配也为大家准备了相关内容&#xff0c;以供参考。 股票分红为什么股价下降&#xff1f; 股票进行分红后股价出现跌落是一种很常…

新疆大学841软件工程考研

1&#xff0e;软件生产的发展经历了三个阶段&#xff0c;分别是____、程序系统时代和软件工程时代时代。 2&#xff0e;可行性研究从以下三个方面研究每种解决方法的可行性&#xff1a;经济可行性、社会可行性和_____。 3&#xff0e;HIPO图的H图用于描述软件的层次关系&…

【ROS】fsd_algorithm架构学习与源码分析(致敬)

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍fsd_algorithm架构学习与源码分析。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&am…

Git全栈体系(四)

第七章 IDEA 集成 Git 一、配置 Git 忽略文件 1. Eclipse 特定文件 2. IDEA 特定文件 3. Maven 工程的 target 目录 4. 问题 4.1 为什么要忽略他们&#xff1f; 与项目的实际功能无关&#xff0c;不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 4.2 …

eNSP 实现 CLI 窗口叠放

文章目录 1 问题截图2 问题解决3 扩展3.1 打开所有 CLI3.2 CLI&#xff1a;Command line interface 1 问题截图 问题描述&#xff1a;命令行窗口是分开的&#xff0c;找对应的窗口太麻烦了 2 问题解决 解决办法&#xff1a;点下图控件即可。 效果展示&#xff1a; 3 扩展 …

文档控件DevExpress Office File API v23.1新版亮点 - 支持.NET MAUI

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库&#xff0c;不用安装Microsoft Office&#xff0c;就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

大数据Flink(六十):Flink 数据流和分层 API介绍

文章目录 Flink 数据流和分层 API介绍 一、​​​​​​​​​​​​​​Flink 数据流

实现同时查找多个关键词——KeywordCrafter - 关键词匠心

具体功能&#xff1a;同时查找多个关键词&#xff0c;高亮加粗显示&#xff0c;并关键词显示出现次数。 &#x1f9d0;碎碎念&#xff1a;最近在写文案的时候&#xff0c;总是要避免出现一个敏感词汇&#xff0c;利用 (commandF) or (CtrF) 查找&#xff0c;只能一个一个单词去…

使用 AndroidX 增强 WebView 的能力

在App开发过程中&#xff0c;为了在多个平台上保持一致的用户体验和提高开发效率&#xff0c;许多应用程序选择使用 H5 技术。在 Android 平台上&#xff0c;通常使用 WebView 组件来承载 H5 内容以供展示。 一.WebView 存在的问题 自 Android Lollipop 起&#xff0c;WebVie…

TFN 新推出信息安全产品 ,手机安全(插卡监听器)探测器 FW5 反窃听数字协议无线探测器

本产品是新研制的检测设备&#xff0c;工程师或反监测专家把它作为一个可靠的工具&#xff0c;用来 跟踪各种无线电数字传输设备&#xff0c;例如 GSM 、蓝牙等新型视听设备。随着现代科学技术 的不断发展&#xff0c;不同的数字传输方式已在我们的生活中得到了广泛的应用。例…

01 - 工作区、暂存区、版本库、远程仓库 - 以一次连贯的提交操作为例

1. 工作区、暂存区、版本库、远程仓库 以一次连贯的提交操作为例。 1.1 工作区 Git的工作区也就是我们平时编辑代码的目录文件夹。 新建一个kongfu_person.txt文件&#xff0c;工作区的变化&#xff1a; 1.2 工作区 > 暂存区&#xff1a;git add 1.3 暂存区 > 版本库…

新能源汽车需要检测哪些项目

截至2022年底&#xff0c;中国新能源车保有量达1310万辆&#xff0c;其中纯电动汽车保有量1045万辆。为把好新能源汽车安全关&#xff0c;我国新能源汽车除了完善的强制性产品认证型式实验外&#xff0c;还建立了“车企-地方-国家”逐级上报的三级监管体系实行新能源汽车全生命…

2000-2021年地级市碳排放数据/地级市二氧化碳排放

2000-2021年地级市碳排放数据/地级市二氧化碳排放 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;主要是各级统计年鉴、相关统计资料等。其中&#xff0c;能源部分分能源品种分部门的能 源消费数据来源于《中国能源统计年鉴》以及各级统计年鉴&#xff1b;工业过程和产…

编译Linux的时候出现 Restart config...

环境 buildroot 问题 在buildroot路径下执行 make linux-rebuild 出现了Restart config… 的问题 原因 我在修改linux源码的时候&#xff0c;在没有指定ARCH架构的情况下&#xff0c; 直接去linux源码目录(output/build/linux/)下执行了 make menuconfig并覆盖了原来的.c…

Linux 共享内存mmap,进程通信

文章目录 前言一、存储映射 I/O二、mmap&#xff0c; munmap三、父子进程间 mmap 通信四、非血缘关系进程间 mmap 提通信五、mmap 匿名映射区总结 前言 进程间通信是操作系统中重要的概念之一&#xff0c;使得不同的进程可以相互交换数据和进行协作。其中&#xff0c;共享内存…

Pycharm解决启动时候索引慢的问题

设置里去掉update里面的两个勾 shared indexes中&#xff0c;把自动下载索引改成不下载使用本地索引

JVM G1垃圾回收机制介绍

G1(Garbage First)收集器 (标记-整理算法)&#xff1a; Java堆并行收集器&#xff0c;G1收集器是JDK1.7提供的一个新收集器&#xff0c;G1收集器基于“标记-整理”算法实现&#xff0c;也就是说不会产生内存碎片。此外&#xff0c;G1收集器不同于之前的收集器的一个重要特点是&…