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 修饰方法的作用是什么?修饰后调用的表现形式是什么?

静态方法和成员方法调用关系?

什么是多态, 形成多态的前提条件是什么? 请举一个例子

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

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

相关文章

jEasyUI 树形菜单拖放控制

jEasyUI 树形菜单拖放控制 jEasyUI 是一个基于 jQuery 的框架,它为开发者提供了一套完整的用户界面组件。这些组件包括菜单、窗口、按钮、面板等,它们可以帮助开发者快速构建功能丰富且美观的网页应用程序。在本文中,我们将重点讨论如何使用…

mysql面试题 Day1

目录 1 可以使用mysql直接存储文件吗? 2 什么时候存文件,什么时候不存文件? 3 存储文件,有遇到什么问题吗? 4 emoji 乱码怎么办? 5 如何存储ip地址? 1 可以使用mysql直接存储文件吗&#xf…

Web的UI自动化基础知识

目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…

华子 Ascend C算子开发能力认证考试(初级)微认证考试答案(直接Ctrl + F搜关键词就可以了)

根据提供的文件内容,这里是一系列关于Ascend C编程的多选题: **第21题**: 题目:Ascend C的矢量编程范式把算子实现流程分为哪些基本任务。 选项: A. Compute B. CopyIn C. CopyOut D. Aggregate E. Split 正确答案&a…

Docker在容器启动时自动执行特定脚本

在Dockerfile中使用CMD或ENTRYPOINT执行脚本,以实现容器启动时执行特定脚本的目的。 示例Dockerfile: FROM ubuntu:20.04# 复制脚本到容器中 COPY start.sh /usr/local/bin/start.sh# 确保脚本具有可执行权限 RUN chmod x /usr/local/bin/start.sh# 使…

mediamtx流媒体服务器测试

MediaMTX简介 在web页面中直接播放rtsp视频流,重点推荐:mediamtx,不仅仅是rtsp-CSDN博客 mediamtx github MediaMTX(以前的rtsp-simple-server)是一个现成的和零依赖的实时媒体服务器和媒体代理,允许发布,读取&…

HTML列表指南:有序、无序与自定义列表的妙用

在网页设计中,列表是组织和展示信息的有效方式,它帮助读者更好地理解和记忆内容结构。HTML提供了三种类型的列表:有序列表、无序列表和自定义列表,每种都有其独特的应用场景。下面,我们将逐一探索这三种列表的使用方法…

mysql的索引可以分为哪些类型

MySQL的索引是用于提高查询性能的重要数据结构。不同类型的索引在不同的使用场景中具有不同的优势和适用性。 1. 主键索引(Primary Key Index) 特点:唯一且不允许 NULL 值。用途:唯一标识表中的每一行。自动创建:定义…

Azure OpenAI 服务

Azure OpenAI 服务 一、什么是生成式 AI二、Azure OpenAI 服务三、Azure OpenAI 与 Azure AI 服务的关系四、如何使用 Azure OpenAI1、这些 OpenAI 模型分为几个主要系列:五、负责任的 AI 策略1、Azure OpenAI 的使用应遵循六项 Microsoft Al原则:用户可通过 Azure OpenAI 服…

牛客周赛 Round 46:祥子拆团(组合数学,计数问题)

题目描述 Sakiko有两个数字 x,yx,yx,y ,她想知道,有多少种方式可以将 xxx 拆成 yyy 个正整数的乘积。 例如 x6,y2x6,y2x6,y2 时,有 616,326,236,1666 \times 16,3 \times 26,2 \times 36,1 \times 66616,326,236,166 这 4 种方法。 由于这个…

React性能优化分享

本篇将介绍在React编码过程中需要注意的性能优化点。鉴于图片懒加载、虚拟滚动列表等已成为广为人知的通用性能优化手段,本文将不再赘述这些内容。 memo memo允许组件在 props 没有改变的情况下跳过重新渲染 默认通过Object.is比较每个prop,可通过第二个…

可视化大屏开发系列——页面布局

页面布局是可视化大屏的基础,想要拥有一个基本美观的大屏,就得考虑页面整体模块的宽高自适应,我们自然就会想到具有强大灵活性flex布局,再借助百分比布局来辅助。至此,大屏页面布局问题即可得到解决。 写在前面&#x…

哪些数据管理知识领域需要做到数据全生命周期管理

一、数据生命周期 数据管理、数据治理、数据安全、元数据管理、数据治理等知识领域,都需要按照数据的生命周期开展管理工作。数据生命周期包括计划、设计/启用、创建/获取、存储/维护、使用、增强和处置。详见下图。 1.数据治理生命周期 1)规划:将数据要求与业务战略连接起…

PTA 6 - 20 汉诺塔问题(py 递归)

这道题是一道比较典型的递归问题,他跟斐波那契数列的本质是一样的,大家自己动手推理一下,非常好推 参考代码: def hanoi(n,a,b,c):global stepif n 1:print(a,"->",c)step 1else:hanoi(n-1,a,c,b)print(a,"…

查看npm版本异常,更新nvm版本解决问题

首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…

用python纯手写一个日历

一、代码 # 月份名称数组 months ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", &qu…

深度解析RocketMq源码-持久化组件(二) MappedFileQueue

1.绪论 MappedFileQueue是commitLog中最核心的主组件。前面讲解commitLog的时候也曾说过,MappedFileQueue本质上就是一个MappedFile队列,而commitLog操纵Mmapped读写的时候,也是通过MappedFileQueue来实现的。 commitlog和mappedfilequeue和…

git下载路径

第一步 1进入官网:Git - Downloading Package 第二步 根据自己的系统选择对应版本下载

局域网内怎么访问另一台电脑?(2种方法)

案例:需要在局域网内远程电脑 “当我使用笔记本电脑时,有时需要获取保存在台式机上的文件,而两者都连接在同一个局域网上。我的台式机使用的是Windows 10企业版,而笔记本电脑则是Windows 10专业版。我想知道是否可以通过网络远程…

springboot-自定义配置

在springboot项目中,最常用的自定义配置就是,在yml文件中,添加一些配置,然后,通过springboot的集成功能,赋值某个bean。 在yml文件中新建我们需要的配置信息,如下: user:id: 2user…