自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 面向对象的特征(二)

Java继承机制的内存原理与特性:1. 类加载顺序为Object→父类→子类,堆空间分配时先初始化父类属性再初始化子类属性;2. super关键字可直接访问父类的非私有成员,构造器调用必须首行且唯一;3. 方法重写要求参数名和返回类型相同或为父类子类型,访问权限不能缩小,可使用@Override注解;4. 属性访问遵循就近原则,子类优先,私有成员需通过getter/setter访问。重写与重载的关键区别在于作用范围(继承vs本类)和参数要求(相同vs不同)。

2025-07-20 14:47:11 974

原创 Java 面向对象的特征(一)

本文介绍了面向对象编程中的封装和继承两大特性。在封装方面,通过将属性和方法封装在类中,并通过get/set方法控制访问,实现了数据隐藏和安全性。构造器中调用set方法可进一步保证数据合理性。继承方面,子类继承父类属性和方法,提高了代码复用性。文章详细说明了继承的10个细节要点,包括构造器调用顺序、super关键字使用规则、单继承机制等。通过具体代码示例,展示了如何正确实现封装和继承,并强调了继承关系必须满足"is-a"而非"like-a"的原则。最后指出Java所有类

2025-07-13 22:42:33 553

原创 Java 方法重载与构造器

本文摘要:Java面向对象编程的核心概念包括方法重载、作用域范围和构造器使用。方法重载允许同名方法通过参数列表差异(类型/数量/顺序)实现不同功能;作用域方面,成员变量与局部变量在生命周期、访问范围和修饰符使用上存在显著区别;构造器用于对象初始化,支持多态实现,遵循特定语法规则。此外,this关键字用于区分类属性和局部变量,访问成员方法及构造器,并指向当前对象实例。这些特性共同构成了Java对象创建和操作的基础机制。

2025-07-12 19:22:02 1119

原创 Java package和访问修饰符

摘要:本文介绍了Java包(package)的作用、定义和使用细节。包的主要功能包括区分同名类、管理类组织和控制访问范围。文中详细说明了包的命名规范、常用系统包以及import语句的使用方法。同时阐述了四种访问修饰符(public、protected、默认、private)的访问权限范围,通过示例展示了在不同包和继承关系中的访问控制规则。特别指出内部类可以访问外部类的所有成员,包括private修饰的变量。

2025-07-09 14:20:41 474

原创 Java类与对象的描述及内存原理

本文通过举例引入,描述了如何将描述小狗特征的文字转化为Java程序,并通过类和对象的概念进行抽象和优化。文章首先介绍了通过变量和方法来描述小狗特征和行为的低效性,随后提出了通过类来抽象相同特征和行为的方法,从而提高代码的复用性和管理效率。文章详细讲解了类的定义、属性的设置、方法的实现以及对象的创建和调用过程,并通过代码示例展示了具体实现。此外,文章还简要介绍了Java的内存机制,包括栈、堆和方法区的作用,以及对象创建时的内存分配过程。通过这些内容,文章展示了如何利用类和对象来提高编程效率和管理代码。

2025-05-14 18:41:34 1946

原创 Java数组之二 (二维数组及冒泡排序)

介绍了二维数组的声明、初始化及内存原理,以及冒泡排序的原理与实现。二维数组的声明有三种格式,静态初始化可以直接赋值,动态初始化则需通过循环赋值。内存原理中,二维数组的每个一维数组长度可以不同,需先动态初始化再开辟空间。冒泡排序通过比较相邻元素并交换逆序元素,逐步将最大元素移至末尾,最终实现数组的排序。代码示例展示了如何对一个整型数组进行冒泡排序,并输出排序后的结果。

2025-05-13 22:27:39 1079

原创 Java数组使用细节及内存原理(一)

声明数组有以下两种格式:(1) 数据类型[ ] 数组名;(2) 数据类型 数组名[ ];以上两种形式是等价的。

2025-05-10 15:04:11 824

原创 Java循环结构使用细节

只有当内层循环的结果为false时结束内层循环,之后会进行下一次的外层循环,当外层循环为false时,就会退出整个循环结构(最好不要超过三层循环,不然代码的可读性会很差)当执行一次内层循环就会结束当前的内层循环,然后进行下一次外层循环,所以相当于执行了三次外层循环,每次只执行了一次内层循环就跳出了。先执行一次外层循环,然后开始执行内层循环,执行完一遍内层循环后,遇到break,就会结束外层循环,所以只执行了一遍内层循环。第一种写法和第二种写法在作用上是等价的,如果想要终止循环,在循环里加入break;

2025-04-29 18:36:54 1302

原创 Java分支结构使用细节

运行结果如下:这里b初始化并赋值为false,而在if的判断条件中被赋值为true,所以判断为真,打印“hello!”,输出b发现b的值确实为true了。

2025-04-23 16:46:04 782

原创 计算机基础:原码、反码、补码,以及位运算

定义:最高位表示符号位(0表示正数,1表示负数),其余位表示数值位。简单来说就是将十进制数转换为二进制数,然后在最高位用来表示符号位。例如:+10的原码为00001010;-10的原码为10001010。

2025-04-21 21:22:59 1525

原创 计算机基础:进制转换(二进制、八进制、十进制、十六进制)

二进制:每个数位只有0和1两种表示,满2进一,Java中在开头加上0B或0b表示(这里的b指的是单词binary);八进制:每个数位上的取值范围为0~7,满8进一,Java中在开头加上0表示;十进制:生活中最常用的进制,每个数位上的取值范围为0~9,满10进一;十六进制:每个数位上的取值范围为0~9以及A(10)~F(16),满16进一,Java中在开头加上0X或0x来表示。(这里的X指的是hexadecimal,A~F不区分大小写)

2025-04-19 21:58:56 2542

原创 Java运算符使用细节

在使用算术运算符进行运算时,如果有小数参与运算,由于计算机精度的问题,所得到的结果是一个近似值,而不是准确值,在使用的时候要小心。得到以下结果:按理说num1的值为0.5,num2的值为0.9,但是得到的结果num2却不一样,所以结果只是近似值。

2025-04-16 22:56:39 1229

原创 详细演示JDK安装,环境变量配置以及使用命令提示符(DOS系统)运行JAVA程序

JDK(Java Development Kit),Java开发工具包,包含了JRE和开发工具两个部分;JRE(Java Runtime Environment),Java运行环境,包含了JVM和核心类库两个部分,这里的JVM(Java Virtual Machine)是Java虚拟机,因为Java是解释型语言,与c,c++等编译型语言不同。

2025-04-12 21:47:35 2573

原创 Java中基本数据类型的使用细节

整型变量有:byte(1字节);short(2字节);int(4字节);long(8字节)。1字节=8比特位(计算机中二进制存储的格式)浮点数 = 符号位 + 指数位 + 尾数位浮点型变量有:float(4字节);double(8字节)。ps.Java中无论是整数还是浮点数都是有符号位的。

2025-04-10 17:34:04 1113

原创 Java常用的转义字符

\:第一个字符表示转义,让编译程序知道要使用第二个字符,输出的时候就是\;\t:回车符,让光标回到行首的地方,如果前面有字符就会相应地被替换掉。\t:制表符,在idea,eclipse中每个制表符占4个空格;\n:换行符,将换行符前后的部分换行输出;\':输出的时候为';\“:输出的时候为";

2025-04-09 17:35:31 235

空空如也

空空如也

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

TA关注的人

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