面向对象,常用类,集合,异常,JDBC,mysql数据库内容的复习,
1,面向对象
面向对象与面向过程对比
面向过程:关注过程,适合解决简单直接的问题,代码结构以函数为单位,如C语言。
面向对象:关注类,适合解决复杂问题更加适合解决复杂的项目中的问题等等,
下面是一些常用类
Object类
所有Java类的祖先,包含`toString()`和`equals()`等方法。
Arrays类
提供数组操作工具,如排序、复制、搜索等。
String类
不可变的字符序列,用于文本处理。
Math类
提供数学运算的方法。
Date类
表示时间点的类。
2,集合
Collection接口
- 定义了存取一组对象的方法,`List`和`Set`为其子接口。
List接口
-有序集合,允许重复元素,有`ArrayList`、`LinkedList`、`Vector`实现类。
Set接口
-无序集合,不允许重复元素,有`HashSet`、`TreeSet`实现类。
Map接口
键值对集合,键唯一,有`HashMap`、`TreeMap`、`HashTable`实现类。
3,异常
Throwable体系
`Error`:系统级错误,如`StackOverflowError`。
`Exception`:可处理的异常,如`IOException`。
异常处理
使用`try-catch-finally`语句块处理异常,`throw`用于抛出异常,`throws`用于声明方法可能抛出的异常。
4,JDBC
Java Database Connectivity,用于Java应用程序与各种数据库通信的标准API。
MySQL数据库
概念
数据库(DB):存储数据的容器。
DBMS:数据库管理系统,用于创建和管理数据库。
5,SQL
结构化查询语言,用于数据定义、操作和控制。
DDL:数据定义语言,用于创建和修改数据库结构。
DML:数据操纵语言,用于数据的插入、更新和删除。
DQL:数据查询语言,用于检索数据。
DDL
创建、删除、修改数据库和表结构的SQL语句。
DML
插入(INSERT)、更新(UPDATE)、删除(DELETE)数据的SQL语句。
DQL
查询(SELECT)数据的SQL语句。
多表设计与关联查询
设计多张相关联的表,通过JOIN语句进行数据关联查询等等
Java语言面向对象的特点
封装
封装是面向对象编程的核心概念之一,它涉及将数据和操作这些数据的方法封装在一起,隐藏内部实现细节。通过封装,我们可以限制对类内部数据的直接访问,从而保护数据的安全性和完整性。例如:我们可以定义一个`Car`类,其中包含`speed`属性和`accelerate`方法,但`speed`属性被声明为`private`,只有通过`accelerate`方法才能改变速度,确保了速度值的有效性和安全性。
public class Car {private int speed;public void accelerate(int delta) {speed += delta;}
}
继承
继承是面向对象编程中的另一个重要概念,它允许创建一个新的类(子类),该类继承了现有类(父类)的属性和方法。继承提供了代码复用的途径,使得子类可以重用父类的代码,并在此基础上进行扩展或覆盖。
例如:`ElectricCar`类可以从`Car`类继承,同时添加或覆盖特定于电动汽车的功能。
public class ElectricCar extends Car {private int batteryLevel;@Overridepublic void accelerate(int delta) {if (batteryLevel > 0) {super.accelerate(delta);} else {System.out.println("Battery empty, cannot accelerate.");}}
}
多态
多态是面向对象编程中一个强大的特性,它允许父类引用指向子类对象。多态性允许在运行时决定调用哪个方法,这意味着一个接口可以有多种实现。例如,`Vehicle`接口可以被`Car`和`Bicycle`类实现,而`startEngine`方法在每个类中会有不同的实现。
interface Vehicle {void startEngine();
}class Car implements Vehicle {@Overridepublic void startEngine() {System.out.println("Starting car engine...");}
}class Bicycle implements Vehicle {@Overridepublic void startEngine() {System.out.println("Pedaling to start...");}
}
Java核心类和集合框架
常用类
Java提供了一系列内置的类,用于处理基本数据类型、字符串、数学运算、日期和时间、文件操作等。例如,`String`类提供了处理文本字符串的强大功能,`Math`类提供了基本的数学运算,`File`类用于文件和目录操作。
集合框架
Java的集合框架提供了一套用于存储和操作对象集合的标准接口和实现。主要包括:
`List`:有序的集合,可以包含重复元素,如`ArrayList`和`LinkedList`。
`Set`:不重复的元素集合,如`HashSet`和`TreeSet`。
`Map`:键值对的集合,如`HashMap`和`TreeMap`。
这些集合类提供了高效的数据存储和检索机制,适用于不同的场景和需求。
异常处理
Java的异常处理机制允许程序以优雅的方式处理错误和异常情况,防止程序崩溃并提供有用的错误信息。异常处理主要通过`try-catch`块实现,其中`try`块包含可能抛出异常的代码,而`catch`块用于处理这些异常。此外,`finally`块用于执行清理操作,无论是否发生异常都会执行。
try {// Code that may throw an exception
} catch (IOException e) {// Handle IOException
} finally {// Cleanup code
}
相关文章:
面向对象,常用类,集合,异常,JDBC,mysql数据库内容的复习,
1,面向对象 面向对象与面向过程对比 面向过程:关注过程,适合解决简单直接的问题,代码结构以函数为单位,如C语言。 面向对象:关注类,适合解决复杂问题更加适合解决复杂的项目中的问题等等&…...
HTML5+JavaScript单词游戏
HTML5 JavaScript单词游戏 数据字典格式:每行一个 单词 ,单词和解释用空格分隔,如 a art.一(个);每一(个) ability n.能力;能耐,本领 able a.有能力的;出色的 baby n.婴儿;孩子…...
Windows 中的 Hosts 文件是什么?如何找到并修改它?
什么是 Hosts 文件 Hosts 文件是一个纯文本文件,存在于几乎所有的操作系统中,用于将主机名映射到 IP 地址。在域名系统(DNS)尚未普及之前,Hosts 文件是计算机网络中唯一用于主机名解析的方式。随着网络规模的扩大和 D…...
详细分析Oracle中的tnsnames.ora基本知识 以及 PLSQL如何连接(附Demo)
目录 1. tnsnames.ora2. Demo3. 实战 1. tnsnames.ora Oracle 数据库网络配置文件,用于配置客户端与数据库服务器之间的连接 定义网络服务名称,客户端可以使用这些名称连接到数据库实例 基本的路径如下: Windows: ORACLE_HOME\network\ad…...
[深度学习] 图神经网络GNN
图神经网络(Graph Neural Network, GNN)是一类用于处理图结构数据的深度学习模型。图是一种重要的数据结构,广泛应用于社交网络、分子化学、推荐系统、交通网络等领域。GNN的出现使得能够有效地在图结构数据上进行学习和推理。以下是GNN的详细…...
MATLAB中添加 Git 子模块
目录 更新子模块 对子模块使用提取和合并 使用推送将更改发送到子模块存储库 要重用其他存储库中的代码,可以指定 Git™ 子模块。 要将外部 Git 存储库克隆为子模块,请执行以下操作: 在 MATLAB 当前文件夹浏览器中点击右键,然…...
24级中国科学技术大学843信号与系统考研分数线,中科大843初复试科目,参考书,大纲,真题,苏医工生医电子信息与通信工程。
(上岸难度:★★★★☆,考试大纲、真题、经验帖等考研资讯和资源加群960507167/博睿泽电子信息通信考研咨询:34342183) 一、专业目录及考情分析 说明: ①复试成绩:满分100分。上机满分50分,面试满分150分,复试成绩(上机…...
深入剖析C语言中volatile与register关键字的实战应用与底层原理
引言 C语言以其贴近硬件的特性,赋予了开发者强大的底层控制能力。在众多关键字中,"volatile" 和 "register" 是两个具有特殊意义的关键字,它们直接影响着编译器对程序语句的处理逻辑,从而影响程序的正确性和…...
vue开发网站--关于window.print()调取打印
1.vue点击按钮调取打印 点击按钮: 调取打印该页面: <div click"clickDown()">下载</div>methods: {//下载-调取打印clickDown() {window.print()}, }<style>/* 点击打印的样式 */media print {.clickDown {display: no…...
OJ-选座位
题目描述 要考试了,小明需要去图书馆挑选一个座位来复习。小明需要找到一个位置,这个位置应距离任何已经落座的人尽可能的远(即与最近的人的距离尽可能的大)。 图书馆的座位为一个N*M的矩阵,N表示总的排数࿰…...
【子串】3. 无重复的最长子串
3. 无重复的最长子串 难度:中等难度 力扣地址:https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ 题目看起来简单,刷起来有好几个坑,特此记录一下,解法比官网的更加简单&…...
Scrapy中爬虫优化技巧分享
scrapy是一个非常有用的python爬虫框架,它可以帮助我们轻松地从不同的网站上获取数据。同时,scrapy也有越来越多的用户在使用它来爬取数据,因此,在使用scrapy的过程中,我们需要考虑如何优化我们的爬虫,以便…...
自然语言处理-BERT处理框架-transformer
目录 1.介绍 2.Transformer 2.1 引言 2.2 传统RNN网络的问题 2.3 整体架构 2.4 Attention 2.5 Self-Attention如何计算 3.multi-headed机制 4. BERT训练方法 1.介绍 BERT:当前主流的解决框架,一站式搞定NLP任务。(解决一个NLP任务时的考虑…...
Kafka~消息系列问题解决:消费顺序问题解决、消息丢失问题优化(不能保证100%)
消息消费顺序问题 使用消息队列的过程中经常有业务场景需要严格保证消息的消费顺序,比如我们同时发了 2 个消息,这 2 个消息对应的操作分别对应的数据库操作是: 用户等级升级。根据用户等级下的订单价格 假如这两条消息的消费顺序不一样造…...
如何确保日常安全运维中的数据加密符合等保2.0标准?
等保2.0标准下的数据加密要求 等保2.0标准是中国信息安全等级保护制度的升级版,它对信息系统的安全保护提出了更为严格的要求。在日常安全运维中,确保数据加密符合等保2.0标准,主要涉及以下几个方面: 数据加密技术的选择ÿ…...
下一代的JDK - GraalVM
GraalVM是最近几年Java相关的新技术领域不多的亮点之一, 被称之为革命性的下一代JDK,那么它究竟有什么神奇之处,又为当前的Java开发带来了一些什么样的改变呢,让我们来详细了解下 下一代的JDK 官网对GraalVM的介绍是 “GraalVM 是…...
Java三方库-单元测试
文章目录 Junit注解常用类无参数单测带参数的单测 Junit 主要版本有4和5版本,注解不太一样, 4迁移5参考官方文档 主要记录下常用的一些操作 其他复杂操作见官网 https://junit.org/junit5/docs/current/user-guide/#overview-java-versions 引入5.9…...
p2p、分布式,区块链笔记: libp2p基础
通信密钥 noise::{Keypair, X25519Spec} X25519/Ed25519类似RSA 算法。Noise 用于设计和实现安全通信协议。它允许通信双方在没有预先共享密钥的情况下进行安全的密钥交换,并通过加密和身份验证保护通信内容。libp2p 提供了对 Noise 协议的原生支持,它允…...
企业本地大模型用Ollama+Open WebUI+Stable Diffusion可视化问答及画图
最近在尝试搭建公司内部用户的大模型,可视化回答,并让它能画图出来, 主要包括四块: Ollama 管理和下载各个模型的工具Open WebUI 友好的对话界面Stable Diffusion 绘图工具Docker 部署在容器里,提高效率以上运行环境Win10, Ollama,SD直接装在windows10下, 然后安装Docker…...
Unity学习笔记---调试
使用Log进行调试 使用Debug.Log方法可以将一些运行时信息打印到Console窗口中。 打印时间戳 //获取时间 Debug.Log(DateTime.Now.ToString());//打印毫秒级的时间 Debug.Log(((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000) * 0.001); 打印自定义文…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
