自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Java SE】Object类

Java Object类是类层次结构的根类,所有类都继承自它。主要方法包括:1) toString()返回对象字符串表示,默认显示类名和哈希码;2) equals()比较对象内容,需重写;3) clone()创建对象副本,需实现Cloneable接口;4) hashCode()返回对象哈希码,equals相等的对象哈希码必须相同;5) getClass()返回运行时类;6) finalize()方法已过时。使用时需注意方法重写和深浅拷贝区别。Object类为所有Java对象提供了基本操作方法。

2025-07-22 23:10:20 502

原创 【Java SE】Clonable接口和深拷贝

Java中的浅拷贝与深拷贝实现对比 摘要:本文介绍了Java中实现对象拷贝的两种方式。浅拷贝通过实现Cloneable接口和重写clone()方法实现,仅复制对象本身及基本类型字段,引用类型字段共享内存。深拷贝则需递归处理引用类型字段,通过调用字段对象的clone()方法实现完全独立复制。文章对比了两者的特性:浅拷贝内存占用低但修改会影响原对象,深拷贝完全独立但实现更复杂。建议根据场景选择:对象无引用字段或字段不可变时用浅拷贝,需要完全独立副本时用深拷贝。

2025-07-22 12:51:50 533

原创 【Java SE】接口(下)

Java中接口支持多重实现,类可以同时实现多个接口(如Drawable和Clickable),但必须实现所有接口方法。接口之间可以通过extends实现多继承(如IAmphibious继承IRunning和ISwimming)。通过实现Comparable接口,可以自定义对象排序规则,示例展示了Student类按年龄降序排序的实现。接口的使用增强了代码的灵活性和复用性,是Java实现多继承特性的重要方式。

2025-07-22 12:25:35 243

原创 【Java SE】接口(上)

接口是定义行为规范的抽象类型,仅包含方法签名。核心作用包括标准化行为、解耦和多态支持。语法上使用interface关键字定义,方法默认public abstract修饰。示例展示了USB接口及其实现类Mouse和KeyBoard的使用,通过Computer类调用接口方法。接口特性包括:成员变量默认public static final;JDK8+支持default和static方法;不能实例化或包含构造代码块;未实现接口的类需声明为抽象类。接口编译后生成.class文件。

2025-07-17 14:40:31 616

原创 【Java SE】抽象类

本文介绍了Java中抽象类的概念与特性。抽象类是不能被实例化的类,用于定义其他类的通用结构,通过abstract关键字声明。主要特性包括:不能直接实例化;抽象方法不能被private/final/static修饰;必须被继承且子类需重写抽象方法;可包含普通方法和构造方法。注意事项指出抽象类可以有非抽象方法,但包含抽象方法的类必须是抽象类。抽象类的作用在于提供编译校验和多态支持,通过子类实现具体功能。文中通过Shape和Animal等示例展示了抽象类的实际应用。

2025-07-16 19:59:50 447

原创 【Java SE】:多态

本文系统介绍了Java多态的核心概念与应用。主要内容包括:1.多态的定义及三大特性(继承、封装、多态);2.实现条件(继承体系、父类引用指向子类对象、方法重写);3.方法重写的规则与动态绑定机制;4.向上转型与向下转型的使用场景及安全措施;5.多态在接口调用、集合框架和设计模式中的实际应用。通过动物类示例代码,展示了多态如何实现同一方法在不同子类中的差异化表现。文章强调多态作为面向对象编程的重要特性,能提高代码灵活性和可扩展性。

2025-07-14 15:42:44 859

原创 【Java SE】继承(2)

继承和组合各有适用场景。组合通常更灵活且易于维护,适合模块化设计;继承适合建立清晰的层级关系和多态需求。实际开发中应结合具体需求选择。

2025-06-17 21:57:22 891

原创 【Java SE】继承:代码复用与扩展的艺术

摘要:继承是面向对象编程的核心特性,允许子类复用父类的属性和方法并扩展新功能。子类通过extends继承父类,可访问父类成员(同名时遵循就近原则),使用super关键字可调用父类同名成员。继承体现了代码复用和层次化设计,子类必须添加特有功能以区别于父类。语法上需注意成员访问优先顺序(子类优先)和super的使用限制(仅非静态方法)。通过继承关系可构建更复杂的类层次结构。

2025-06-16 23:54:34 632

原创 【Java SE】类和对象(3)

Java类与对象核心概念摘要: 1.类与对象基础:类作为实体模板采用大驼峰命名,通过new实例化对象,this引用当前实例;构造方法支持重载,含默认无参构造;对象初始化包含默认值和就地初始化两种方式。 2.封装特性:使用private/public等访问修饰符控制可见性,通过getter/setter访问私有成员,结合包机制(反转域名命名)管理代码组织。 3.静态成员:static修饰的类成员由所有对象共享,静态方法不可访问非静态成员;静态代码块在类加载时执行,优先于实例代码块和构造方法。 4.代码块类型:

2025-06-15 18:36:42 993

原创 【Java SE】类和对象(2)----封装

摘要:封装是面向对象编程的核心特性之一,通过将数据和方法捆绑在类中并控制访问权限来提升代码安全性。Java提供四种访问修饰符:private(仅类内)、default(同包)、protected(同包及子类)、public(全局)。最佳实践包括:成员变量设为private并提供getter/setter,遵循最小权限原则。包机制支持代码组织,使用反转域名命名(如com.example),通过import导入其他包内容。封装关键步骤包括访问控制、提供公共方法和构造方法验证。

2025-06-14 19:58:23 452

原创 【Java SE】类和对象(1)

本文摘要: Java类与对象基础概念总结:1.类是对实体的描述模板,采用大驼峰命名,包含属性和方法;2.通过new关键字实例化对象,可创建多个实例,成员变量有默认值;3.this关键字用于引用当前对象,可访问成员变量/方法,还能在构造方法间调用;4.构造方法需与类同名,无返回值,支持重载,编译器会生成默认无参构造;5.对象初始化分为默认初始化(赋予默认值)和就地初始化(编译时会加入构造方法)。文章还介绍了IDEA快速生成构造方法的技巧。

2025-06-13 23:02:18 1105

原创 【C语言】:动态内存管理

上述开辟内存方式有两个特点①开辟空间的大小是确定的。②数组在声明的时候,必须指定数组长度,数组空间一旦确定了大小就不能调整了。但是对于空间的需求,有时候不仅仅是上述情况。所以C语言引入动态内存管理允许程序在运行时根据需要分配和释放内存,避免了静态内存分配(如全局变量或栈变量)的局限性。

2025-06-03 21:56:18 696

原创 【C语言】:自定义类型:联合体和枚举

联合体是一种特殊数据类型,所有成员共享同一内存空间,其大小由最大成员决定。示例显示联合体成员地址相同,修改一个成员会影响其他成员值。联合体需满足最大对齐数要求。枚举类型允许用名称代替整数值,默认从0开始递增,也可自定义初始值。枚举常量与数值可互换使用,提高了代码可读性。

2025-06-03 00:17:48 630

原创 【C语言】自定义类型:结构体

本文摘要:文章系统介绍了C语言结构体的核心知识,涵盖结构体声明、内存对齐和位段实现三大主题。首先讲解了结构体的声明方式、变量初始化、特殊声明和自引用;随后深入分析结构体内存对齐规则及其计算方法,包括对齐数修改和传参优化;最后重点探讨位段的定义、内存分配机制、使用注意事项及其在网络协议等场景的实际应用。文章通过代码示例演示了位段操作的特殊性,并强调其在资源受限环境中的优势,为C语言底层编程和嵌入式开发提供了重要参考。

2025-06-02 00:16:47 1245

原创 【C语言】:数据在内存中的存储

计算机的底层世界是由二进制位构成的,每一个数据最终都要转化为这些 0 和 1 的组合才能被存储和处理。内存作为计算机中用于临时存储数据的部件,其本质是一系列有序的存储单元,每个单元都有唯一的地址,就像城市中每栋建筑都有自己的门牌号一样。C 语言作为一种接近底层的编程语言,赋予了程序员对内存较强的操控能力。不同类型的数据,如整数、浮点数、字符以及复杂的结构体等,在内存中的存储形式和占用空间各不相同。这种差异不仅影响着程序的运行效率,还与数据的精度、范围以及程序的稳定性密切相关。

2025-05-29 00:01:43 1399

原创 【C语言】:内存函数

本文介绍了四个内存操作函数:1. memcpy用于非重叠内存块的复制;2. memmove支持处理重叠内存块的移动;3. memset用于填充指定内存块;4. memcmp比较两个内存块内容。每个函数均包含功能说明、参数、头文件、返回值等基本信息,并提供了使用示例和模拟实现代码。这些函数都定义在<string.h>头文件中,适用于需要对内存进行复制、移动、填充和比较的操作场景。

2025-05-26 22:15:55 466

原创 【C语言】:字符串函数的模拟实现

统计'\0'之前字符串的长度。指针str指向字符串首元素地址,当str不是‘\0’(while(*str)),则计数器+1(count++),指针向后移动1个字符串(str++)。

2025-05-25 00:15:37 948

原创 【C语言】:字符串函数(使用和演示)

都是在函数strcpy,strcat,strcmp的基础上多了一个参数size_tnum作用是指定函数作用在目标空间的字符个数,效果是相对来说更加安全,更灵活。

2025-05-22 12:06:14 1211

原创 【C语言】:深入理解指针

本文详细介绍了C语言中指针的基本概念、操作符、类型、大小、基本运算、const修饰、assert断言、野指针、指针与数组、指针与函数等内容。指针是C语言中用于存储内存地址的变量,通过取地址操作符(&)和解引用操作符(*)可以访问和修改内存中的数据。指针的大小与平台相关,32位平台下为4字节,64位平台下为8字节。指针类型决定了指针解引用时能访问的字节数。指针的基本运算包括指针加减整数、指针相减等。const修饰指针时,位置不同含义不同,可以限制指针的修改或指向的修改。assert断言用于调试阶段检查条件是否

2025-05-20 13:01:58 829

原创 【C语言】:实现简单的扫雷游戏

Initboard):(通过set初始化两个棋盘,mine数组最开始全是‘0’,然后布置雷;引入两个数组(char)用于存放布置好雷的信息,排查出雷的信息。若不是,调用 GetMineCount 显示周围雷数,循环直至所有非雷格子被打开。排查雷(FindMine):(win为未放置雷的个数,雷标记为1,未放置雷为0,查找雷(GetMinecount): 该位置不是雷,就通知这个坐标周围有几个雷。,输入0则退出游戏并结束运行,输入其他则提示输入错误.头文件,函数源文件,主代码源文件。

2025-04-23 22:33:03 384

马克思主义基本原理@神游杆菌小卖部.pdf

马克思主义基本原理@神游杆菌小卖部.pdf

2025-05-07

空空如也

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

TA关注的人

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