【Java期末复习资料】(1)知识点总结
本文章主要是知识点,后续会出模拟卷
以下是选择、填空可能考的知识点,多看几遍,混个眼熟
- 面向对象程序设计的基本特征是:抽象、封装、继承、多态(后三个是三大特性)
- Java源文件的扩缀名是.java
- 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为.class
- HelloWorld.java 编译成功后会生成一个HelloWorld.class文件
- 开发与运行java程序需要经过的三个主要步骤为:编译源程序、编译生成字节码文件、解释运行字节码
- 在Java语言中,体现多态性有两个方面:overloading(重载)和overriding(重写、覆盖)
- package语句要放在文件开头,且必须放在import语句之前
- Java源程序的文件名必须必须与public类的类名相同
- Java源文件中可以多个类,至多一个类可以使public类
- 类是Java中基本的结构单位
- Java应用程序有若干个类所构成,它们可以分布在一个或多个源文件中,其中必须有1个源文件含有主类
- Java应用程序总是从主类的main方法开始执行
- Java源文件如果含有主类,主类可以是public类、默认(不写public 为default)类
- String类在java.lang包中
- Java的字符类型采用的是Unicode编码
- Java的各类数据所占用的长度与具体的软硬件平台环境无关(也就是说不管是32位系统还是64为系统,int都是4字节、double都是8字节,注意区分和C语言的不同)
- 在Java的基本数据类型中,char型采用Unicode编码方案,每个编码占用2个字节内存空间。无论是中文字符还是英文字符,都是占用2字节内存空间
- 在Java的方法中,定义一个常量必须用关键字final
- 基本数据类型包括:布尔型、整数型、浮点型、字符型
- 浮点型数据根据存储长度的精度的不同,降一补划分为double和float两种具体的类型,double精度高一些,为默认类型
- 字符串分为两类,一类是字符串常量,使用String类的对象来表示;另一类字符串是字符串变量,使用StringBuffer类的对象表示
- StringBuffer对象的字符序列可以修改,String对象的字符序列不可以修改
- Java语言的标识符是区分大小写的
- 在Java中,\是转义字符,\n表示回车,\t表示tab键(制表键),\\表示\字符本身
- Java程序中的的单行注释符是//,多行注释符是/**/
- 即使条件不满足,do-while循环体中的语句也至少执行一次
- for循环、while循环、do-while循环可以互相嵌套,都可以产生死循环,循环体里都可以为空
- 方法中可以包含任意个return语句,return语句可以返回任何数据类型
- 同一方法不可以同时使用static和abstract修饰
- 方法的修饰如果有public、abstract,必须放在方法的类型的前面
- abstract方法是一种仅有方法头,没有方法体的方法;这种方法只能存在于abstract类和接口中
- 在面向对象方法中,类的实例化称为对象
- 类声明class A 等价于class A extends java.lang.Object
- 在Java中定义抽象类则需要加关键字abstract来修饰
- abstract和final不可以同时修饰系统一个类
- abstract类中可以有abstract方法,可以有非abstract方法
- interface中只可以有abstract方法,不可以有非abstract方法
- 类的实例方法不可以用;类名直接调用,类中的静态方法可以用类名直接调用
- 同一个类的对象使用不同的内存段
- 静态成员使用相同的内存空间
- 成员变量有默认值,局部变量没有默认值(所以局部变量在使用的时候一定要初始化,否则会报错)
- 成员变量的值可以和局部变量的名字相同
- 类成员的权限修饰1符的访问权限大小关系是public>protected>private
- 方法的参数的名字不可以和方法中声明的局部变量的名字相同
- 定义私有的成员方法或者成员变量时,不必在类的开头部分集中定义,利用关键字private定义
- 被私有访问控制符private修饰的成员变量,只能被该类自身所访问和修改,不能被与它在同一个包中的其他类、在其他包中的该类的子类所访问和修改
- String类是final类
- final类可以有0个子类,非final类可以有多个子类
- 除了java.lang.Object类,任何类有且只有一个父类
- 在Java中,任何类的根类/父类/超类是java.lang.Object
- 子类和父类可以不在一个包中
- 在Java中,关键字final使类不能派生出子类
- 子类可以声明和父类的成员变量同名的成员变量
- 子类声明的成员变量的名字和父类继承来的成员变量名字相同,子类就会隐藏所继承的成员变量
- 一个类中可以有多个构造方法
- 构造方法不可以用final、static修饰
- 构造方法是类的一种特殊方法,它的主要作用是完成对类的对象的初始化工作,它的方法名必须与类名相同
- 一般在创建类的对象的时候,系统会自动调用构造方法,自动调用是通过关键字new实现的
- 创建类的对象的时候,使用运算符new给对象分配内存空间
- Java语言对构造方法的返回类型的规定是:没有返回类型
- Java语言规定构造方法可以重载
- 即使一个类中未显示定义构造方法,也会有一个默认的构造方法,默认的构造方法的参数情况是:无参,函数体的情况是:函数体为空
- 子类不继承父类的构造方法
- 子类构造方法中可以有多条super调用父类的某个构造方法的语句
- 如果在子类的构造方法中,没有显示地写出super关键字来调用父类的构造方法,那么编译器就默认地有super();调用父类的无参数的构造方法
- 如果在子类的构造方法中,显示地写出了super关键字来调用父类的某个构造方法,那么编译器就不在提供默认的super语句
- super关键字形成的语句必须是子类构造方法中的第一条语句
- 子类中想使用被子类隐藏的实例成员方法或实例成员变量就需要使用关键字super
- 重载方法是指,一个类中定义两个方法,方法名相同,参数不同,返回值不做要求
- 重写方法是指,子类中有与父类相同的方法,方法名相同,参数相同,返回值相同
- this不可以出现在static方法中,可以出现在实例方法和构造方法中
- 子类可以定义和父类的方法同名的方法
- 子类在方法重写时,不可以把父类的类方法(静态方法)重写为实例方法
- 子类在方法重写时,方法的访问权限不可以降低,但是可以提高
- 接口可以用public修饰,不可以用private或protected修饰
- 接口中只可以有常量,不可以有变量
- 接口中只可以有abstract方法,不可以有非abstract方法
- 接口中的常量必须指定初值
- 接口中的常量可以用接口名直接访问
- 除了final属性,接口中定义的常量还具有public、static属性
- 接口中的方法访问权限一定是public
- 接口中的方法不可以用private或protected或final修饰
- 接口中的void f();方法声明等价于public abstract void f();
- 接口中的常量可以存放实现该接口的类的实例的引用
- abstract类可以实现接口、final类可以实现接口
- 类使用关键字implements实现接口
- 定义一个类继承父类的关键字是extends,定义一个接口继承接口的关键字是extends
- 一个类可以继承一个类,一个类可以实现多个接口,一个接口可以继承多个接口
- 一个类可以同时继承一个类和实现一个接口
- 一个类不可以重复实现同一个接口
- 类和它所实现的接口不一定在同一个包里
- 一个类声明实现一个接口,但是没有重写接口中的所有方法,那么这个类一定是抽象类
- 抽象类可以重写接口中的方法,也可以继承接口中的方法
- 如果一个非抽象类实现某个接口,该类必须重写接口中的全部abstract方法
- 子接口将继承父接口的全部方法和全部变量
- Integer.parseInt(" "),双引号内不是整数时会触发NumberFormatException异常
- FileNotFoundException类是IOException类的子类
- Throwable类有两个重要的子类:Exception(异常)和Error(错误)
- 所有异常的父类都是Throwable类
- 捕捉异常通过try-catch-finally语句实现
- try-catch语句可以由多个catch组成
- 在编译异常处理的Java程序中,每个catch语句块都应该与try语句块对应
- 在异常处理中,将可能产生异常的语句放在try块中,用catch语句去处理异常
- 如果想在方法头抛出异常,那么需要关键字throws;如果想在方法体内抛出异常,那么需要关键字throw
- FileReader输入流按字符(char)读取文件的内容,FileWriter输出流按字符(char)写出数据
- FileOutputStream输出流按字节(byte)写出数据
- 程序如果需要读取程序“外部”的数据,可以创建指向外部的输入流
- 程序如果需要将程序中的数据写入到程序“外部”,可以创建指向外部的输出流
- 如果程序要读取一个文件,可以创建指向文件的FileInputStream流、FileReader流
- 如果程序要写入一个文件,可以创建指向文件的FileOutputStream流、FileWriter流
- import.java.sql.*命令可以使我们再程序中创建数据库相关的对象
- import.java.io.*命令可以使我们再程序中创建输入输出流相关的对象
- import.java.net.*命令可以使我们再程序中创建网络相关的对象
- 线程状态可以分为五大状态:新建、就绪、运行、阻塞、死亡
- 多线程系统中,多个线程之间有同步和互斥两种关系
相关文章:
【Java期末复习资料】(1)知识点总结
本文章主要是知识点,后续会出模拟卷 以下是选择、填空可能考的知识点,多看几遍,混个眼熟 面向对象程序设计的基本特征是:抽象、封装、继承、多态(后三个是三大特性)Java源文件的扩缀名是.java编译Java App…...

进程、容器与虚拟机的区别
进程、容器与虚拟机 参考:关于进程、容器与虚拟机的区别,你想知道的都在这! 进程、容器与虚拟机的结构图 进程 介绍 进程是一个正在运行的程序,它是一个个可执行文件的实例。当一个可执行文件从硬盘加载到内存中的时候…...

全网快递批量查询的得力助手
在当今社会,网络购物已经成为人们日常生活的重要组成部分。随着网购的普及,快递行业也迅速发展壮大。然而,这也带来了一系列问题:如何快速、准确地查询快递信息?如何批量查询多个快递?今天,我们…...

uniapp开发小程序经验记录
uniapp开发小程序的过程中会遇到很多问题,这里记录一下相关工具优化,便于后来者参考。 每次保存代码后,小程序都跳回首页 针对这个问题,常规的做法就是修改pages配置文件,但是这种方式不便于路由参数的设置ÿ…...

PR自动剪辑视频工具AI智能剪辑插件AutoPod
推荐一款可以提高剪辑效率,节约时间成本的AI人工智能自动剪辑视频制作工具pr插件Autopod,辅助你更快地完成视频内容的编辑工作。 Autopod 插件是一款应用于 Adobe Premiere Pro 软件的插件,用于自动剪辑。该插件能够识别和处理视频和音频素材…...

Visual Studio 2022+Python3.11实现C++调用python接口
大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 查了一些资料,不是报这个错,就是报哪个错,没有找到和我安装的环境的一致的案例,于是将自己的摸索分…...

10天玩转Python第2天:python判断语句基础示例全面详解与代码练习
目录 1.课程之前1.1 复习和反馈1.2 作业1.3 今日内容1.4 字符串格式化的补充1.5 运算符1.5.1 逻辑运算符1.5.2 赋值运算符1.5.3 运算符优先 2.判断2.1 if 的基本结构2.1.1 基本语法2.1.2 代码案例2.1.3 练习 2.2 if else 结构2.2.1 基本语法2.2.2 代码案例2.2.3 练习 2.3 if 和…...

2024年网络安全竞赛-网站渗透
网站渗透 (一)拓扑图 1.使用渗透机对服务器信息收集,并将服务器中网站服务端口号作为flag提交; 使用nmap工具对靶机进行信息收集 2.使用渗透机对服务器信息收集,将网站的名称作为flag提交; 访问页面即可 3.使用渗透机对服务器渗透,将可渗透页面的名称作为flag提交…...

kafka学习笔记--基础知识概述
本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…...
聊聊AsyncHttpClient的KeepAliveStrategy
序 本文主要研究一下AsyncHttpClient的KeepAliveStrategy KeepAliveStrategy org/asynchttpclient/channel/KeepAliveStrategy.java public interface KeepAliveStrategy {/*** Determines whether the connection should be kept alive after this HTTP message exchange.…...

视频推拉流直播点播EasyDSS平台点播文件加密存储的实现方法
视频推拉流直播点播系统EasyDSS平台,可提供流畅的视频直播、点播、视频推拉流、转码、管理、分发、录像、检索、时移回看等功能,可兼容多操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性,在直播点播领域具有广泛…...
LVGL——按钮部件
目录 一、组成部分 二、按钮部件操作 1、创建 2、设置样式 3、添加事件 4、代码例程 三、按钮部件案例 一、组成部分 主体(LV_PART_MAIN) 二、按钮部件操作 1、创建 lv_obj_t *btn lv_btn_create( parent );2、设置样式 lv_obj_set_siz…...

RE2文本匹配调优实战
引言 在RE2文本匹配实战的最后,博主说过会结合词向量以及其他技巧来对效果进行调优,本篇文章对整个过程进行详细记录。其他文本匹配系列实战后续也会进行类似的调优,方法是一样的,不再赘述。 本文所用到的词向量可以在Gensim训练…...

Java - 线程间的通信方式
线程通信的方式 线程中通信是指多个线程之间通过某种机制进行协调和交互 线程通信主要可以分为三种方式,分别为共享内存、消息传递和管道流。每种方式有不同的方法来实现 共享内存:线程之间共享程序的公共状态,线程之间通过读-写内存中的公…...

【计算机网络】HTTP响应报文Cookie原理
目录 HTTP响应报文格式 一. 状态行 状态码与状态码描述 二. 响应头 Cookie原理 一. 前因 二. Cookie的状态管理 结束语 HTTP响应报文格式 HTTP响应报文分为四部分 状态行:包含三部分:协议版本,状态码,状态码描述响应头&a…...

2023年度盘点:智能汽车、自动驾驶、车联网必读书单
【文末送书】今天推荐几本自动驾驶领域优质书籍 前言 2023年,智能驾驶和新能源汽车行业仍然有着肉眼可见的新进展。自动驾驶技术继续尝试从辅助驾驶向自动驾驶的过渡,更重要的是相关技术成本的下降。根据《全球电动汽车展望2023》等行业报告,…...

一文讲解如何从 Clickhouse 迁移数据至 DolphinDB
ClickHouse 是 Yandex 公司于2016年开源的 OLAP 列式数据库管理系统,主要用于 WEB 流量分析。凭借面向列式存储、支持数据压缩、完备的 DBMS 功能、多核心并行处理的特点,ClickHouse 被广泛应用于广告流量、移动分析、网站分析等领域。 DolphinDB 是一款…...

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e − s t d t X\left( s \right) \mathcal{L} \left[ x\lef…...

生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到
生产问题: 利用线程Thread预加载数据缓存偶发加载不到 先上代码 public class ThreadTest {//本地缓存Map<String, Object> map new HashMap<String, Object>();class ThreadA implements Runnable{Overridepublic void run() {System.out.println("Thread…...
Elasticsearch mapping 之 性能相关配置
ES 常见类型 通用类型: 二进制: binary 布尔型: boolean 字符串: keyword, constant_keyword, wildcard, text 别名: alias 对象: object, flattened, nested, join 结构化数据类型: Range, ip, version, murmur3 空间数据类型: geo_point, geo_shape, point, shape 性…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...