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数据恢复软件!你是不是也曾经遇到过不小心删除了重要的文件,或者电脑突然崩溃导致数据丢失的尴尬情况呢&…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...