面向对象,常用类,集合,异常,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); 打印自定义文…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
