自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 吃透 Java 异常处理:从底层逻辑到实战规范,一站式掌握所有核心知识点

JDK 内置的异常无法满足业务场景(比如 “订单不存在”“余额不足”),此时需要自定义异常,核心是 “语义化描述业务错误”。Exception// 业务服务中使用自定义异常// 模拟查询订单if (!// 抛出自定义运行时异常throw new OrderNotFoundException("订单不存在:" + orderId);// 模拟查询余额// 抛出自定义受检异常。

2025-12-20 17:34:20 961

原创 一文吃透 Java 枚举:从基础用法到高级实战

Java枚举是企业开发中处理固定常量集的首选方案。相比传统的public static final常量,枚举具有类型安全、可读性强、可扩展等优势。枚举本质是继承java.lang.Enum的类,支持属性、方法和接口实现。核心特性包括:values()获取所有常量、valueOf()通过名称获取实例、ordinal()获取声明顺序等。进阶用法包括:为不同常量定制行为、实现单例模式、处理多维度常量组合等。注意事项:枚举不可继承、序列化特性、避免过度使用等。枚举能有效解决魔法值和类型不安全问题,使代码更健壮易维护

2025-12-20 16:48:42 961

原创 java: 错误: 不支持发行版本 5和java: 不再支持源选项 5。请使用 7 或更高版本的解决方案

在这博主用的是jdk17,所以以下的配置都会改成jdk17。若版本不匹配,将该模块的 SDK 版本调整为 项目所需的jdk,保证模块级别的 JDK 配置与项目整体配置统一。4、在SDKs中选择要用的jdk,点击apply和OK即可,因为博主的配置没有修改,apply是灰的,修改过了,apply是可以点击的,记得先应用在点OK,否则配置会失效。把项目 SDK、模块 SDK、Maven 编译插件这几处的版本都统一配置为 项目所需JDK 版本后,刷新项目并重新编译,就能解决版本不兼容的报错啦。

2025-12-16 15:50:49 256

原创 吃透 Java 内部类:从底层逻辑到实战场景,一篇讲透

Java内部类是面向对象封装特性的高级应用,主要用于实现代码高内聚和灵活访问。文章系统解析了四种内部类:成员内部类(依赖外部类实例)、静态内部类(独立于外部类)、局部内部类(方法内作用域)和匿名内部类(一次性接口实现)。重点阐述了它们的核心特点、创建方式、适用场景及常见问题,并举例说明在框架源码中的典型应用。内部类的核心价值在于封装强关联逻辑,建议根据是否依赖外部类实例、使用频率和作用范围合理选择类型,避免滥用导致代码臃肿。

2025-12-15 19:58:56 685

原创 Java 抽象类与接口的核心区别:从设计到实战的全面拆解

Java中抽象类和接口的核心区别在于:抽象类定义"是什么"(is-a关系),通过继承实现代码复用;接口定义"能做什么"(can-do关系),通过实现扩展多态能力。关键差异包括:抽象类支持单继承、可包含具体方法及状态,而接口允许多实现、仅定义行为契约(JDK8后支持默认方法)。实际开发中,应结合使用——用抽象类构建继承体系,用接口扩展功能,兼顾代码复用与灵活扩展。

2025-12-15 18:49:02 610

原创 接口中的方法全解析(JDK8-17 演进 + 实战示例)

摘要:本文系统梳理了Java接口方法的发展历程和类型划分。JDK8是重要分水岭:之前仅支持抽象方法和常量;之后新增默认方法(default)和静态方法(static),解决接口升级兼容性问题;JDK9进一步引入私有方法(private)优化代码复用。文章详细解析了四种方法类型:抽象方法定义核心契约、默认方法实现兼容扩展、静态方法提供工具逻辑、私有方法封装重复代码,并通过示例说明其语法和使用场景。最后对比了接口与抽象类在方法设计上的差异,强调接口始终围绕"能力行为定义"演进,而抽象类侧重父

2025-12-13 18:09:07 976

原创 吃透 Java 接口:突破单继承的灵活利器

Java接口的核心价值在于定义“能力契约”,它只约定对象“能做什么”;而不限制“怎么做”。接口通过抽象方法声明行为规范,实现类必须提供具体实现。相比类的单继承限制,接口支持多实现,让不同对象可以统一拥有相同能力。实际开发中,接口能有效降低代码耦合度,实现框架规范和多团队协作。典型应用场景包括支付模块解耦、框架开发规范定义等。接口的本质是关注能力而非身份,使代码更灵活易维护。

2025-12-12 21:54:44 971

原创 吃透 Java 抽象类:核心语法 + 实战场景 + 避坑指南(全图解)

摘要:本文通过生活中的类比(如蛋糕模具、手机App框架)引入Java抽象类的概念,解释其作为"抽离共性、保留个性"的父类模板作用。文章详细讲解了抽象类的定义语法(使用abstract关键字)、子类继承规则(必须重写抽象方法)及多态应用,并通过水果案例(Fruit抽象类及Apple/Banana子类)进行代码演示。同时总结了抽象类的4个核心特性、3个适用场景及常见错误规避方法。最后强调抽象类在代码复用、行为约束和多态管理方面的价值,建议在"多类有共性但需不同实现"时使用

2025-12-11 21:49:16 1135

原创 吃透 Java 多态:同一方法,千变万化

本质:同一行为,不同对象有不同实现 —— 父类引用指向子类对象,调用方法自动适配;3 个前提:继承关系 + 子类重写父类方法 + 父类引用指向子类对象;关键细节父类引用不能调子类特有方法,需instanceof+ 向下转型;重写必须遵守方法名、参数、返回值、访问权限规则;编译看父类,运行看子类;核心价值:简化代码、极致扩展、降低耦合 —— 这是从 “写能跑的代码” 到 “写好维护的代码” 的关键一步。下一篇,我们将看到:当你遇到“多个对象有同一行为”的场景(比如学生、老师、管理员都有。

2025-12-11 11:15:32 1246

原创 继承——让对象“有爹有谱”,代码复用不重复

本文介绍了面向对象编程中的继承概念及其实现方式。继承的核心价值在于复用共性代码,减少重复,让代码更简洁易维护。文章通过"员工-咖啡师-店长"的案例对比了无继承和有继承的实现差异,详细说明了如何使用extends关键字实现继承,以及super关键字在构造器调用和父类成员访问中的作用。同时强调了继承的几项核心规则:Java只支持单继承、子类必须调用父类构造器、不能直接访问父类私有成员等。最后提供了继承的避坑指南,包括不要过度继承、不要打破封装、不要继承无关类等注意事项。继承是面向对象三大特性

2025-12-09 16:06:01 460

原创 面向对象的封装艺术:对象基础、构造方法与 JavaBean 规范

本文介绍了Java中对象的核心概念与使用方法。对象是包含状态(属性)和行为(方法)的运行时实体,通过new关键字和构造方法创建。文章重点讲解了对象的封装机制(private属性+getter/setter)、构造方法设计(无参/有参构造)、以及JavaBean规范(无参构造+标准getter/setter)。正确使用这些特性可以确保对象状态安全可控,并与Java生态框架无缝集成。文章还指出了常见误区,如直接访问属性、缺少无参构造等问题,强调通过封装保护对象完整性的重要性。掌握这些基础知识是编写健壮、可维护J

2025-12-09 10:07:23 675

原创 java基础语法-day04-面向对象

摘要: 本文通过咖啡店场景生动讲解Java面向对象编程(OOP)的核心概念。类是蓝图(如“咖啡机”),对象是具体实例(如“你家的咖啡机”)。三大特性:1️⃣ 封装(隐藏内部细节,提供安全接口);2️⃣ 继承(子类复用父类功能,如咖啡师继承员工属性);3️⃣ 多态(同一行为不同实现,如美式与拿铁)。实战环节以“学生管理系统”为例,演示如何用类管理学生信息。学习建议:先动手写代码再深究理论,用生活场景辅助理解,从简单项目逐步进阶。面向对象编程如同搭积木,掌握基础后即可构建复杂系统。

2025-12-08 22:20:21 921

原创 return、break 和 continue的区别

Java中的return、break和continue都是流程控制关键字,但作用不同:return结束当前方法并可选返回值;break跳出最近的循环或switch语句;continue仅跳过当前循环的本次迭代。return可用于任何方法,break用于循环/switch,continue仅用于循环。return会终止整个方法执行,break只终止当前循环,continue则继续下一次循环。三者中只有return可以返回值,break和continue都不能。合理使用这些关键字能优化代码逻辑和控制流程。

2025-11-23 15:12:18 281

原创 方法/数组练习题

到索引to结束(不包含to)的元素复制到新数组中)将新数组返回。// 循环的开始条件如果为0,那么第一次循环的时候是自己跟自己比了一下,对结果没有任何影响,但是效率较低。1、需求:设计一个方法用于数组遍历,要求遍历的结果是在一行上的。例如:[11,22,33,44,55]// 为了提高效率,减少一次循环的次数,循环开始条件可以写1,// 不能写0//max的初始化值一定要是数组中的值。// 1.根据求最大值的思路,自己改写一下求最小值。3、定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处。

2025-11-23 10:04:17 654

原创 Java 中的方法重载(Overloading)与方法重写(Overriding)详解

方法重载和方法重写是面向对象编程中的两个核心概念。重载指同一类中存在多个同名但参数列表不同的方法,属于编译时多态;重写是子类重新定义父类方法,实现特定功能,属于运行时多态。两者的主要区别在于:重载发生在同一类中,参数列表必须不同;重写发生在继承关系中,方法签名必须一致。正确使用重载能提高API灵活性,而重写是实现多态的关键。注意重载不依赖返回类型,重写不能缩小访问权限,且静态方法不能被重写。理解这些区别有助于编写更清晰、灵活的代码。

2025-11-22 21:27:18 701

原创 java基础语法-day03-方法

Java方法是构建程序的基本单元,通过封装特定功能代码实现代码复用与模块化。本文系统讲解了方法的定义、调用、参数传递和返回值等核心概念,包括四种典型方法示例:无参无返回值、有参无返回值、有参有返回值和静态方法。深入分析了方法的八大特性:封装性、复用性、模块化、参数传递、作用域隔离、重载支持、静态/实例区分和可测试性。文章强调优质方法的设计原则:短小精悍、单一职责、命名清晰、避免副作用,建议开发者通过合理方法设计提升代码质量和开发效率。掌握方法设计是成为专业Java开发者的关键一步。

2025-11-19 17:47:42 872

原创 Java基础语法-day03-数组

数组指的是一种容器,可以用来存储同种数据类型的多个值。格式:① 数据类型【】 数组名②数据类型 数组名【】注意:数组容器在存储数据的时候,需要结合隐式转换考虑。建议:容器的类型,和存储的数据类型保持一致。

2025-11-18 20:28:42 587

原创 day02-循环练习题

System.out.println("不是质数");System.out.println("猜对了");System.out.println("猜大了");System.out.println("请输入一个正整数:");System.out.println("请输入数字");System.out.println("是质数");System.out.println(n+"是一个质数");System.out.println("不是一个质数");System.out.println("请输入一个整数");

2025-11-17 17:30:28 464

原创 Java基础语法-day2-流程控制语句

键盘录入一个整数表示电影票的票号根据不同情况,给出不同的提示:如果票号为奇数,那么打印坐左边如果票号为偶数,那么打印坐右边。需求:给你一个整数×如果x是一个回文整数,打印true,否则,返回false解释:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。需求:键盘录入星期数,显示今天的减肥活动周一:跑步周二:游泳周三:慢走周四:动感单车周五:拳击周六:爬山周日:好好吃一顿。需求:定义变量记录女婿的酒量,如果女婿的酒量大于2斤,老丈人就搭理他,否则就不搭理。

2025-11-17 16:09:01 1107

原创 Java基础语法-day1-运算符

数据类型、运算符

2025-11-16 21:27:22 1016

原创 Android studio 报错 之Failed to find Platform SDK with path: platforms;android-30

Android studio 报错 之Failed to find Platform SDK with path: platforms;android-30

2025-06-28 19:47:28 352

原创 怎么导入或导出sql文件

在navicat中新建一个数据库,注意数据库的名称一定要和导入的SQL文件一样,不然会报错,右键选择运行SQL文件,选择要导出的数据库,右键->转储SQL文件 ->结构和数据,即可导出lianxi.sql文件。以navicat 12为例,其他版本类似。选择需要运行的SQL文件,点击开始。然后刷新一下表就可以显示出数据啦。显示成功结束后点击关闭。

2025-01-06 22:29:01 932

原创 navicat无法连接Mysql

navicat无法连接Mysql

2025-01-06 22:15:12 629 2

原创 eclipse导入Java Web项目

选择需要导入的项目,可以选择非工作区的项目,建议勾选Copy projects into workspace,将项目复制到工作区,修改时不会干扰到原项目。选择 Java Build Path->Libraries ->Jre System Library [JavaSE-17] ->Edit。点击Project Facet ,将Java 版本改为之前配置好的版本,apply后保存并关闭。点击tomcat->edit ,选择要用的Tomcat ,配置好后点apply,右键点击项目,选择Properties。

2024-12-31 12:03:56 1669 1

基于Java 和MySQL的飞机订票系统

基于Java 和MySQL的飞机订票系统

2025-01-07

Java 飞机订票系统实训报告

Java 飞机订票系统实训报告,有数据库

2025-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除