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

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】扫包范围的冲突

# 代码结构如下&#xff1a; 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 <dependency><groupId>org.…...

本学期嵌入式期末考试的综合项目,我是这么出题的

时间过得真快&#xff0c;临近期末&#xff0c;又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师&#xff0c;今年给学生出的题目有一点点难度&#xff0c;最后的综合项目要求如下所示&#xff0c;各位学生朋友和教师同行可以评论一下难度如何&#xff0c;单片…...

CSS概述

CSS是一种样式表语言&#xff0c;用于为HTML文档控制外观&#xff0c;定义布局。例如&#xff0c; CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离&#xff0c;页面内容存放在HTML文档中&#xff0c;而用 于定义表现形式…...

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基础&#xff08;12&#xff09;OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件&#xff0c;主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍&#xff1a…...

Qt自定义日志输出

Qt自定义日志输出 简略版&#xff1a; #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…...

[C++] vector list 等容器的迭代器失效问题

标题&#xff1a;[C] 容器的迭代器失效问题 水墨不写bug 正文开始&#xff1a; 什么是迭代器&#xff1f; 迭代器是STL提供的六大组件之一&#xff0c;它允许我们访问容器&#xff08;如vector、list、set等&#xff09;中的元素&#xff0c;同时提供一个遍历容器的方法。然而…...

Java——变量作用域和生命周期

一、作用域 1、作用域简介 在Java中&#xff0c;作用域&#xff08;Scope&#xff09;指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。 2、作用域 块作用域&#xff08;Block Scope&#xff09;&#xff1a; 块作用域是指在…...

WPF界面设计

1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址&#xff1a;https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现&#xff0c;常规的管理系统应该…...

【C#】使用JavaScriptSerializer序列化对象

在C#开发语言编程中&#xff0c;通常使用系统内置的JavaScriptSerializer类来序列化对象&#xff0c;以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。 文章目录 反序列化序列化忽略属性 假设处理的数据中有一个对象类, 如下 public cl…...

HTML静态网页成品作业(HTML+CSS)—— 明星吴磊介绍网页(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 二、作品演示 三、代…...

EasyRecovery2024数据恢复神器#电脑必备良品

EasyRecovery数据恢复软件&#xff0c;让你的数据重见天日&#xff01; 大家好&#xff01;今天我要给大家种草一个非常实用的软件——EasyRecovery数据恢复软件&#xff01;你是不是也曾经遇到过不小心删除了重要的文件&#xff0c;或者电脑突然崩溃导致数据丢失的尴尬情况呢&…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...