当前位置: 首页 > news >正文

3.29~3.30学习总结

刷题情况:

蓝桥杯刷题:

Java学习情况:

抽象类:如果将子类中抽取的共性行为(方法),子类的执行不一样的时候

(通俗一点来说,就是无法找到一个万能的方法体供子类使用,但这个行为是一样(例如:狗吃骨头,羊吃艹,这个行为是一致的,但父类的方法体不能够万能的描述这俩个动物的吃的行为,也就是确定不了方法体)将这个方法定义为抽象方法。

当一个类中存在了抽象方法的时候,那这个类一定是抽象类,用abstract修饰。

但是抽象类中允许存在普通方法。总结一下就是:存在抽象方法一定是抽象类,抽象类不一定有抽象方法。

抽象类不允许创建实例,也就是不允许创建对象。

抽象类的子类:要么重写抽象类的所有方法,要么这个类继续为抽象类。

抽象类中允许存在抽象方法。

接口和抽象类的区别:

意义上的不同:

接口体现的是一种规范,类似于整个系统的总纲。

抽象类体现的是一种模板式设计,抽象类可以被当作系统实现产品的中间产品,可以参与完成多个不同的最终产品。

语法上的不同

接口里面只允许存在抽象方法,静态方法和默认方法(default),不能为普通方法提供方法实现,

而抽象类中可以存在普通方法。

接口里面只能定义静态常量(public static final)

而抽象类可以有普通成员变量,也可以有静态常量。

接口没有构造方法。

抽象类有构造方法。

接口不能包含初始化块。

抽象类可以包含初始化块。

内部类:简单来说就是在一个类里面的类

成员内部类:一个类中和成员变量处于同一位置的类

非静态内部类:特殊的成员内部类(有static修饰)

静态内部类:特殊的成员内部类(有static修饰)

局部内部类(定义于方法中的类)(用处不大)

匿名内部类(重点):

内部类可以直接访问外部类的成员变量(无论是非私有还是私有)(类比,成员变量可以访问成员变量(无论是私有还是非私有))但是外部类不能直接访问内部类,需要创建内部类的对象才可以访问。

外部类静态成员不能访问非静态的内部类

非静态内部类里不允许定义静态成员(静态方法,静态初始化块,静态变量);

但是静态内部类里面可以有非静态内部类和静态内部类

这里补充static的一个知识,static的作用是把类成员变成和类相关,而不是实例相关,static修饰的成员属于整个类,而不是单个对象,而外部类的上一级程序单元是包,所以不可以使用static修饰,内部类可以使用static修饰,使得内部类变得和外部类相关。

静态内部类不能访问外部类的实例成员,只能访问外部类的静态成员。

匿名内部类:

匿名内部类不能是抽象类,因为匿名内部类在创建的时候就创建了匿名内部类的对象,因此不允许将匿名内部类定义成抽象类(抽象类不能创建实例,只能作为父类去派生子类)

匿名内部类不能定义构造方法,因为匿名内部类没有类名,所以无法定义构造方法,但可以定义初始化块,可以通过实例初始块来完成构造方法需要完成的事情。

最常用的创建匿名内部类的方式是需要创建某个接口类型的对象。

创建匿名内部类的时候,必须实现接口或抽象父类里的所有抽象方法,(如果有需要,也可以重写父类中的普通方法)

枚举类:

package exerse;public enum SeasonEnum {Spring,Summer,Fall,Winter;
}

枚举常量序数从0开始;

枚举类默认继承了java.lang.Enum类,而不是object类,因此枚举类不能显式继承其他父类,

使用enum类定义,非抽象的枚举类会默认使用final修饰,因此枚举类不能派生子类。

枚举类的构造器只能使用private访问控制符,如果省略了构造器(构造方法)的访问控制符,那么默认使用private修饰,如果强制指定访问控制符,那么只能指定private控制符,

!!!注意:枚举类的实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。这些实例,系统会自动添加静态常量的修饰符(public static final)。

枚举类默认提供了一个values()方法,该方法可以很方便的遍历所有的枚举值。、

代码演示:

package exerse;public class EnumTest {public void judge(SeasonEnum s){switch (s){case Spring -> System.out.println("春天");case Summer -> System.out.println("夏天");case Fall -> System.out.println("秋天");case Winter -> System.out.println("冬天");}}public static void main(String[] args) {for (SeasonEnum s:SeasonEnum.values() ){System.out.println(s);}EnumTest p=new EnumTest();p.judge(SeasonEnum.Spring);}
}

枚举类和普通的类区别不大,差别在于,创建枚举类对象不能随意创建,创建的实例只能是枚举值。列出枚举值的时候,可以不用显示调用构造器,不用使用new关键字,就可以船舰枚举类对象。

在枚举类中添加私有构造方法,列出枚举值的时候传入参数:好处:更加安全,成员变量都不可随意改变。

枚举类和普通类一样,也可以实现一个或者多个接口,实现接口和普通类一致,

不是所有的枚举类都为final修饰,当枚举类的内部存在抽象方法的时候,这个枚举类就是用abstract所修饰,不是使用final修饰。这个时候存在派生子类。

相关文章:

3.29~3.30学习总结

刷题情况: 蓝桥杯刷题: Java学习情况: 抽象类:如果将子类中抽取的共性行为(方法),子类的执行不一样的时候 (通俗一点来说,就是无法找到一个万能的方法体供子类使用,但这…...

结构体详解 ——— C语言

目录 1.结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 结构体实现位段(位段的填充&可移植性) 位段的内存分配 1.结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对…...

Java SE 基础(4) Java的语言特点

语言特点 Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论&a…...

都炸店了,拼多多还在坚持什么

子超这两天听说了拼多多被“炸店”事件,第一反应是震惊:这都什么年代了,还有这种不择手段的暴力行为?所谓的炸店,就是一些人员被煽动和组织起来,有预谋地对店铺发起打砸行动,这和线下去打砸商铺…...

vue尚品汇商城项目-day01【6.Footer组件的显示与隐藏】

文章目录6.Footer组件的显示与隐藏6.1我们可以根据组件身上的$route获取当前路由的信息,通过路由路径判断Footer显示与隐藏6.2配置路由的时候,可以给路由添加元信息[meta],路由需要配置对象,它的key不能乱接、瞎写、胡写&#xff…...

命令行上的数据科学第二版 一、简介

原文:https://datascienceatthecommandline.com/2e/chapter-1-introduction.html 贡献者:Ting-xin 这本书是关于如何利用命令行做数据科学的。我的目标是通过教你使用命令行的力量,让自己成为一名更高效和多产的数据科学家。 在标题中同时使…...

utf-8转换到utf-16的转换过程你懂吗?

人生自是有情痴,此恨不关风与月。——唐代元稹《离思》 从UTF-8编码的文件中读取文本并将其存储到Java的String对象中,涉及到从字节序列到Unicode码点,再到UTF-16编码的转换。以下是详细的步骤: 从文件读取字节序列:首…...

C++编程大师之路:从入门到精通--持续更新中~

文章目录前言主要内容C基础入门初识C第一个C程序注释变量常量关键字标识符命名规则数据类型整型sizeof关键字实型(浮点型)字符型转义字符字符串型布尔类型 bool数据的输入运算符算术运算符赋值运算符比较运算符逻辑运算符程序流程结构选择结构if语句三目…...

面试阿里软件测试岗,收到offer后我却毫不犹豫拒绝了....

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年。我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后&am…...

【c语言多线程编程】关于pthread_create()和pthread_join()的多线程详解

关于pthread_create()和pthread_join()的多线程详解 一、首先说一下pthread_create() 函数的用法: int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine) (void *),void *arg);各参数的含义: 1、pthread_t *thre…...

抖音seo矩阵系统源码搭建技术+二开开源代码定制部署

抖音已经成为了当今最为流行的短视频平台之一,拥有着庞大的用户群体和海量的视频资源。对于一些商家或者运营者来说,如何从这些视频资源中挖掘出有效的信息,进而提升自己的品牌、产品或者内容的曝光度,就成为了一个非常重要的问题…...

【周赛刷题】平衡树+图中最短环

2612. 最少翻转操作数(平衡树) 题目的难度有一部分在于数学推导。对于某个点 iii 进行反转是有一个范围的,这个范围需要考虑到边界的情况。可以的得到的一个结论是。对于窗口反转,KaTeX parse error: Expected group after ^ at p…...

C++笔记——第十篇 继承 的解析,详细易懂哦

目录 一、继承的概念及定义 1.继承的概念 2. 继承定义 2.1定义格式 2.2继承关系和访问限定符 2.3继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、复杂的菱形继承…...

SQL Server中的全文搜索

SQL Server中的全文搜索一、概述二、全文搜索查询三、将全文搜索查询与 LIKE 谓词进行比较四、全文搜索体系结构4.1、SQL Server 进程4.2、过滤器守护程序主机进程五、全文搜索处理5.1、全文索引过程5.2、全文查询流程六、全文索引体系结构6.1、全文索引结构6.2、全文索引片段6…...

自适应平移混音方法

一、简介: 自适应平移混音方法是一种常见的音频混音技术,它利用自适应滤波器对不同音频信号进行平移和加权,从而实现混音。 二、该方法的基本步骤如下: 采集和存储需要混音的音频信号。 对其中一个音频信号进行预处理&#xff0c…...

炼钢厂VR职业技能实训软件,提高员工学习效率和掌握技能速度

炼钢作业是一个高危、高压、高温的行业,在实际操作中需要严格遵守安全规范和操作规程,一旦出现差错可能造成巨大的经济损失和人员伤亡。 利用广州华锐互动开发的炼钢厂VR职业技能实训软件,可以有效帮助员工更好地理解和掌握炼钢作业中的相关…...

MySQL数据库范式

文章目录MySQL数据库范式1、范式的优缺点2、第一范式3、第二范式4、第三范式5、BC范式6、第四范式MySQL数据库范式 1、范式的优缺点 应用数据库范式的好处: 减少数据冗余(这是最主要的好处,其他好处都是由此而附带的)消除异常&…...

通过多层方法重塑网络安全

多年来,网络安全威胁的复杂性不断增加。此外,随着远程和混合工作场所模式的兴起,网络犯罪分子可以利用的漏洞数量显着增加。由于可能存在的网络威胁的范围如此之广,因此没有一种单一的解决方案可以应对所有威胁。 由于多种原因&a…...

Golang学习+深入(四)-运算符

目录 一、概述 1、算数运算符 2、关系运算符 3、逻辑运算符 4、赋值运算符 5、运算符优先级 6、位运算符 7、其他运算符 二、进制 1、进制转换 1、其他进制转十进制 2、十进制转其他进制 3、二进制转其他进制 4、其他进制转二进制 5、二进制在运算中的说明 三、…...

C++ 运算符重载:C++ 运算符重载的高级技巧和最佳实践

C 运算符重载:深入剖析与实现I. 引言A. 什么是运算符重载B. 为什么要使用运算符重载C. C运算符重载的优缺点II. 运算符重载基本概念A. 运算符重载的定义B. 运算符重载的分类1. 一元运算符2. 二元运算符C. 限制与规范1. 无法重载的运算符2. 重载运算符的规范与建议II…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...