Java基础知识巩固自测(上)
前言
该文章适用于已初步了解Java基础知识的入门学习者,便于快速回顾知识点,查漏补缺。
内容包括:Java面向对象相关知识、SQL基础语法
复习建议技巧
实用3W思维法(What、Why、How)
1. What(什么):明确问题或目标是什么。这是思考的第一步,需要清晰地定义问题或目标,以便后续的分析和解决方案能够有针对性地进行。
问:自行车是什么?
答:自行车是一种人力驱动的交通工具,通常由一个鞍座、两个车轮、车把、脚踏和能转动的链条组成。
2. Why(为什么):分析问题或目标的原因和背景。这一步需要深入挖掘问题或目标的本质,了解相关的背景信息和影响因素,以便更好地理解问题或目标,并为后续的解决方案提供有力的支持。
问:为什么会有自行车?
答:相比于徒步行走,节省时间;相比于汽车,节省费用
3. How(怎么用):提出解决方案并实施。在明确了问题或目标,并分析了相关的原因和背景之后,需要思考如何解决问题或实现目标。这一步需要创造性地提出解决方案,并制定出具体的实施计划,以便能够有效地解决问题或实现目标。
问:如何使用自行车?
答:买自行车,看理论视频跟练、他人知道并实践等
推荐用上述复习思维,去扫描知识点,切记: 学过了!= 知道 知道!=熟悉 熟悉!=掌握
注意:新手的下一步未必是入门,或许只是高级新手,戒骄戒躁
运用空杯心态,每个知识点,通过3W思维去问自己,一旦某个知识点卡住了,就是你提升认识的好时机!
1.面向对象三大特性
(1)封装
定义:封装是将对象的状态(属性)和行为(方法)打包在一起,隐藏对象的内部实现细节,仅提供公开的接口(getter/setterf方法)来与对象进行交互
例子:以汽车为例,由不同部件(属性)组成的机械合成物(汽车),提供了一系列方法(离合、手刹、油门、脚刹等),这些暴露在外的都是让我们作为用户(调用者)能够直接上手使用的(接口),但是踩油门为什么能让汽车加速是我们不需要关心,这些由专业的汽车制造商、专家考虑,并且某些出于专利隐私,需要作隐藏
关于封装需要掌握的是:
类的构成(定义类的属性、构造器、getter/setter、toString)
(2)继承
定义:子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。
例子:有些事情前人已经做好了,我们只需拿来用
关于继承需要掌握的是:
如何继承某个类(extends)、子类重写父类构造方法和属性(super的使用)、对Object类中equals以及toString的重写、继承特点(支持多继承)
(3)多态
简单联想,即多种形态
定义:多态是同一个行为具有多个不同表现形式或形态的能力
例子:比如一个人,他可以作为一名老师,同时也是父母的孩子、爱人的伴侣、领导的下属,这就是同样作为一个人展现的多种形态
实现多态的三个前提条件:继承、方法重写、向上转型
关于多态需要掌握的是:
能识别多态的代码体现形式(如同个方法名不同执行内容【重载】、可以以父类或接口的名义new一个它的子类对象)
2.List、Map的基本使用
关于List需要掌握的是:
能正确创建List对象(ArrayList或LinikedList)、list.add、list.get以及list.get越界时返回的值、list的遍历(for循环、foreach)
关于Map需要掌握的是:
能正确创建Map对象(HashMap或TreeMap)、map.put、map.get以及map.get(无效的key)时返回的结果
思考集合中为什么需要指定泛型
3.相关零散知识点
什么是基本数据类型, 什么是引用数据类型?
熟练掌握 无参数有参数的构造方法(手写), 并且懂得调用无参 有参构造创建对象
熟练掌握 setter/getter (手写), 并会调用他们进行取值、设值
熟练掌握 重写 Object 父类的 equals 方法
Object 相关
Object 是一切类的父类
单继承
String 继承 重写 equlas
为什么字符串比较不能使用 == , 要用 equals
new 和 构造函数的作用是什么, 有参数构造方法, 无参数构造方法
类和对象关系是什么?
抽象类和接口的区别?
什么是向上转型, 代码如何写, 结合数组, 集合
什么是向下转型
面向对象三大特性是什么?
重写和重载的区别是什么?
Object s = "111" ; 这样写法是错误的? 请解释发生什么?
包装类: double x = null 对吗? Double x=null 对吗? 为什么?
this 的作用是什么?
super 和 super() 分别是什么意思?
static 修饰变量的作用是什么, static 修饰方法的作用是什么?修饰后调用的表现形式是什么?
静态方法和成员方法调用关系?
什么是多态, 形成多态的前提条件是什么? 请举一个例子
相关文章:
Java基础知识巩固自测(上)
前言 该文章适用于已初步了解Java基础知识的入门学习者,便于快速回顾知识点,查漏补缺。 内容包括:Java面向对象相关知识、SQL基础语法 复习建议技巧 实用3W思维法(What、Why、How) 1. What(什么&#x…...
通过 Python+Nacos实现微服务,细解微服务架构
shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 背景 一直以来的想法比较多,然后就用Python编写各种代码脚本。很多…...
如何使用new和delete操作符进行动态内存分配和释放?
在C中,new 和 delete 操作符用于在堆(heap)上动态地分配和释放内存。这是管理内存的一种重要方式,特别是在需要创建可变数量或生命周期与程序执行流程不一致的对象时。 使用 new 进行动态内存分配 当你使用 new 操作符时&#x…...
【SCAU数据挖掘】数据挖掘期末总复习题库选择题及解析
1.将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?( C ) A.频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 解析:数据预处理是数据分析和数据挖掘的重要步骤之一,包括数据清洗、集成、变换、规约(如维度规约、数值规约)等。这…...
顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)
顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH) 一、最大通话时间 1、配置拨号方案 1、点击拨号方案 ->2、在框中输入通话最大时长->3、点击添加->4、根据图中配置->5、勾选continue。修改拨号方案需要等待一分钟即可生效 action"sched…...
深度学习:使用argparse 模块
在深度学习中,结合 Bash 脚本和 argparse 模块,可以实现高效的任务自动化和参数管理。Bash 脚本可以用来调度任务和管理环境,而 argparse 模块可以用来解析命令行参数,控制深度学习模型的训练和评估过程。 1.argparse 模块 argp…...
unity text根据文本内容自动设置高度
我们经常会遇到需要根据文字数量动态修改文本框高度的需求,我们可以使用文本的行数*每行的高度来计算文本框的高度,伪代码如下: int oneLineHight 50;// 每行的像素高度 private void ResetTextHight(string str) {//设置文字内容ShowText.…...
ARM 汇编 C语言 for循环
在使用 Keil 编译基于 STM32F103 的 C 语言程序时,生成的汇编代码会有一些不同。STM32F103 是基于 ARM Cortex-M3 内核的微控制器,因为汇编语言是 ARM 汇编,而不是 x86 汇编。 示例 C 代码 假设我们有如下的简单 C 语言 for 循环代码&#x…...
java:【@ComponentScan】和【@SpringBootApplication】扫包范围的冲突
# 代码结构如下: 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 <dependency><groupId>org.…...
本学期嵌入式期末考试的综合项目,我是这么出题的
时间过得真快,临近期末,又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师,今年给学生出的题目有一点点难度,最后的综合项目要求如下所示,各位学生朋友和教师同行可以评论一下难度如何,单片…...
CSS概述
CSS是一种样式表语言,用于为HTML文档控制外观,定义布局。例如, CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用 于定义表现形式…...
Tensorflow-GPU工具包了解和详细安装方法
目录 基础知识信息了解 显卡算力 CUDA兼容 Tensorflow gpu安装 CUDA/cuDNN匹配和下载 查看Conda driver的版本 下载CUDA工具包 查看对应cuDNN版本 下载cuDNN加速库 CUDA/cuDNN安装 CUDA安装方法 cuDNN加速库安装 配置CUDA/cuDNN环境变量 配置环境变量 核验是否安…...
【python】OpenCV GUI——Trackbar(14.2)
学习来自 OpenCV基础(12)OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件,主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍:…...
Qt自定义日志输出
Qt自定义日志输出 简略版: #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…...
[C++] vector list 等容器的迭代器失效问题
标题:[C] 容器的迭代器失效问题 水墨不写bug 正文开始: 什么是迭代器? 迭代器是STL提供的六大组件之一,它允许我们访问容器(如vector、list、set等)中的元素,同时提供一个遍历容器的方法。然而…...
Java——变量作用域和生命周期
一、作用域 1、作用域简介 在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。 2、作用域 块作用域(Block Scope): 块作用域是指在…...
WPF界面设计
1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址:https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现,常规的管理系统应该…...
【C#】使用JavaScriptSerializer序列化对象
在C#开发语言编程中,通常使用系统内置的JavaScriptSerializer类来序列化对象,以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。 文章目录 反序列化序列化忽略属性 假设处理的数据中有一个对象类, 如下 public cl…...
HTML静态网页成品作业(HTML+CSS)—— 明星吴磊介绍网页(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...
EasyRecovery2024数据恢复神器#电脑必备良品
EasyRecovery数据恢复软件,让你的数据重见天日! 大家好!今天我要给大家种草一个非常实用的软件——EasyRecovery数据恢复软件!你是不是也曾经遇到过不小心删除了重要的文件,或者电脑突然崩溃导致数据丢失的尴尬情况呢&…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
PLC入门【4】基本指令2(SET RST)
04 基本指令2 PLC编程第四课基本指令(2) 1、运用上接课所学的基本指令完成个简单的实例编程。 2、学习SET--置位指令 3、RST--复位指令 打开软件(FX-TRN-BEG-C),从 文件 - 主画面,“B: 让我们学习基本的”- “B-3.控制优先程序”。 点击“梯形图编辑”…...
第14节 Node.js 全局对象
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局…...
LTR-381RGB-01RGB+环境光检测应用场景及客户类型主要有哪些?
RGB环境光检测 功能,在应用场景及客户类型: 1. 可应用的儿童玩具类型 (1) 智能互动玩具 功能:通过检测环境光或物体颜色触发互动(如颜色识别积木、光感音乐盒)。 客户参考: LEGO(乐高&#x…...
后端下载限速(redis记录实时并发,bucket4j动态限速)
✅ 使用 Redis 记录 所有用户的实时并发下载数✅ 使用 Bucket4j 实现 全局下载速率限制(动态)✅ 支持 动态调整限速策略✅ 下载接口安全、稳定、可监控 🧩 整体架构概览 模块功能Redis存储全局并发数和带宽令牌桶状态Bucket4j Redis分布式限…...
第6章:Neo4j数据导入与导出
在实际应用中,数据的导入与导出是使用Neo4j的重要环节。无论是初始数据加载、系统迁移还是数据备份,都需要高效可靠的数据传输机制。本章将详细介绍Neo4j中的各种数据导入与导出方法,帮助读者掌握不同场景下的最佳实践。 6.1 数据导入策略 …...
智能照明系统:具备认知能力的“光神经网络”
智能照明系统是物联网技术与传统照明深度融合的产物,其本质是通过感知环境、解析需求、自主决策的闭环控制,重构光与人、空间、环境的关系。这一系统由智能光源、多维传感器、边缘计算单元及云端管理平台构成,形成具备认知能力的“光神经网络…...
