面向对象,常用类,集合,异常,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); 打印自定义文…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
