Java开发指南
文章平均质量分 87
本专栏将带领读者深入探索 Java 编程语言及其生态系统并提供有用的技巧、实用的指南和最佳实践,帮助读者在 Java 开发领域取得成功。无论是基础概念,如语法和面向对象编程,还是高级主题,如并发编程和性能优化,本专栏都将提供全面的覆盖。
秋说
祝你开心
展开
-
【Java开发指南 | 第三十一篇】Java 包(package)
2、包可以使用 Java 中的访问修饰符(如 public、protected、private)来限制对其中的类、接口和成员的访问。如果一个源文件中没有使用包声明,其中的类、函数、枚举、注释等将被放在一个无名的包(unnamed package)中。5、类放在包中可以指定它们的可见性,使得某些类只能在包内部访问,而对外部代码隐藏起来,提高了代码的安全性和健壮性。注意,使用通配符 * 导入整个包时,只会导入包中的类,而不会导入包中的子包。如果在一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略。原创 2024-05-13 07:58:24 · 717 阅读 · 1 评论 -
【Java开发指南 | 第三十篇】Java 枚举(enum)
枚举(Enumeration)是一种特殊的数据类型,用于表示一组具名的常量集合,例如表示星期几、月份、颜色等。其中构造函数只能使用 private 访问修饰符,所以外部无法调用,因此只能通过枚举定义的常量来访问。如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它。在应用枚举类时,常使用values(), ordinal() 和 valueOf() 三种方法。2、ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。1、values() 返回枚举类中所有的值。原创 2024-05-13 07:55:49 · 457 阅读 · 0 评论 -
【Java开发指南 | 第二十九篇】Java接口
通过接口,可以定义回调方法,其他对象可以实现这些方法并注册到相应的事件监听器中。1、接口定义了一组方法的约定,实现该接口的类必须提供这些方法的具体实现(否则类必须声明为抽象类)。然后,不同的类可以实现这个接口,并根据具体形状(如圆形、矩形等)提供这两个方法的具体实现。ice接口自己声明了四个方法,从Sports接口继承了两个方法,因此,实现ice接口的类需要实现六个方法。2、类可以实现多个接口,从而具有不同的行为。相似的,实现ball接口的类需要实现五个方法,其中两个来自于Sports接口。原创 2024-05-13 07:52:24 · 1060 阅读 · 0 评论 -
【Java开发指南 | 第二十八篇】Java封装
封装是面向对象编程中的一种重要概念,它指的是将数据(属性)和操作数据的方法(行为)捆绑在一起,以保护数据不被外部直接访问,而是通过类提供的公共方法来访问和操作数据。将数据隐藏在类的内部,只允许通过类的接口(方法)来访问数据,而不允许外部直接访问类的内部数据。4、封装可以隐藏类的内部实现细节,使得外部代码只需要关注类提供的功能,而不需要了解其具体的实现方式,提高了代码的模块化程度。2、通过封装,可以限制对数据的直接访问,只允许通过类的公共方法来访问和修改数据,从而提高了数据的安全性。原创 2024-05-13 07:50:21 · 285 阅读 · 0 评论 -
【Java开发指南 | 第二十七篇】Java抽象类
抽象类不能被实例化,其存在的主要目的是为了被其他类继承,并且可以包含抽象方法(这些方法只有声明而没有具体的实现)和具体方法(这些方法有具体的实现)。抽象类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。2、抽象类中的抽象方法只是声明,不包含方法体,即不给出方法的具体实现(具体功能)。3、任何继承抽象类的子类必须实现抽象类中的所有抽象方法,除非子类也声明为抽象类。3、构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。抽象方法的实现由继承抽象类的子类来完成。原创 2024-05-13 07:48:56 · 486 阅读 · 1 评论 -
【Java开发指南 | 第二十六篇】Java多态
这种多态性发生在方法重载的情况下,即同一个类中存在多个同名方法,但参数列表不同。多态是面向对象编程中的一个重要概念,指的是同一个方法调用可以在不同的对象上产生不同的行为。简单来说,多态允许不同的对象对同一消息作出不同的响应。在运行时,通过继承和重写实现了方法的动态绑定。即使是相同的方法调用,由于对象的不同,最终执行的方法可能不同。:通过继承抽象类并重写其中的抽象方法,子类可以根据自身的需要提供不同的实现,从而实现多态性。:子类可以重新定义父类中已有的方法,以实现子类自己的行为。:子类继承父类的属性和方法。原创 2024-05-13 07:47:46 · 300 阅读 · 0 评论 -
【Java开发指南 | 第二十五篇】Java 重写(Override)与重载(Overload)
重写(Override)是指子类定义了一个与其父类中具有相同名称、参数列表和返回类型的方法,并且子类方法的实现覆盖了父类方法的实现。重写使得子类能够根据需要实现父类的方法,在使用子类对象调用该方法时,将执行子类中的方法而不是父类中的方法。5、重写的方法能够抛出任何非强制异常,但不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常。3、子类中重写的方法的访问权限不能比父类中被重写方法的访问权限更低。1、重写的方法必须具有与被重写方法相同的参数列表。的方法才能被重写,因此要确保被重写的方法不是。原创 2024-05-13 07:45:55 · 626 阅读 · 0 评论 -
【Java开发指南 | 第二十四篇】Java继承
高耦合度可能导致代码的独立性降低,但适当的继承设计可以降低耦合度,例如通过合理的抽象和接口设计来实现松耦合。为了解决这个问题,可以考虑通过继承的方式,将这些重复的部分提取出来,组成一个父类。在继承时,子类不继承父类的构造器(构造方法或者构造函数),而是通过调用(隐式或显式)来使用它们。关键字来引用父类的成员(方法、字段),以便在子类中重写父类的方法或访问父类的构造方法。子类可以在继承父类的基础上添加新的属性和方法,从而实现对父类的扩展。final 定义的类,其中的属性、方法不是 final 的。原创 2024-05-13 07:43:21 · 650 阅读 · 0 评论 -
【Java开发指南 | 第二十三篇】Java异常处理
错误不同于异常,它们表示了程序无法恢复的严重问题,通常超出了我们的控制范围。与异常不同,错误通常不应被程序员显式处理,而是应该通过编写健壮的代码来尽可能地避免它们的发生。当方法内部抛出指定类型的异常时,该异常会被传递给调用该方法的代码,并在该代码中处理异常。与检查性异常不同,运行时异常是在程序执行期间抛出的异常,而不是在编译时强制要求处理的。块能够捕获该异常,异常就会传播到上层调用栈,直到找到能够处理该异常的地方或者程序终止。块可以捕获不同类型的异常,或者捕获同一类型的异常的不同子类。原创 2024-05-09 13:05:37 · 611 阅读 · 3 评论 -
【Java开发指南 | 第二十二篇】Java目录
方法用于创建一个文件夹。如果成功创建,则返回 true;如果无法创建,可能是因为指定路径已存在文件夹,或者由于整个路径上的文件夹都不存在而无法创建,则返回 false。我们可以通过调用File对象上的 list() 方法来获取它包含的文件和文件夹的列表。注意:当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。方法用于创建一个文件夹及其所有父文件夹(如果不存在)。设Java目录中存在以下文件。设Java目录中存在以下文件。方法来删除文件或目录。原创 2024-05-09 13:02:44 · 340 阅读 · 0 评论 -
【Java开发指南 | 第二十一篇】Java流之文件
流提供了许多功能,包括过滤、映射、规约、分组等,可以大大简化代码,使其更易读且易于并行化。Java 的 BufferedReader 类用于从字符输入流中读取文本并缓冲字符,以提供更高效的读取。它可以一次读取一行或多行文本,并提供了一些便捷的方法来读取字符、字符数组和字符串。如果在打开输出流进行写入之前,目标文件不存在,那么该流会创建该文件。2、也可以使用一个文件对象来创建一个输出流以写入文件。对象后,可以读取数据流,进行文件内容的处理或其他流操作。对象后,就可以将数据写入流中,或进行其他流操作。原创 2024-05-09 13:00:11 · 578 阅读 · 0 评论 -
【Java开发指南 | 第二十篇】Java流之控制台
流提供了许多功能,包括过滤、映射、规约、分组等,可以大大简化代码,使其更易读且易于并行化。方法,它都会从输入流中读取一个字符,并将该字符作为整数值返回。方法用于将单个字符写入输出流,它不会自动添加换行符,所以需要手动添加换行符或者在下一次输出之前加上。方法不会在输出内容之后自动换行,如果需要输出下一个内容,会继续在同一行输出。方法会输出指定的内容,并在最后添加换行符,使得下一个输出从新的一行开始。方法类似,也是将指定内容输出到控制台,但在输出内容之后会自动换行。将上面的方法结合,即可实现控制台输入输出。原创 2024-05-09 12:57:44 · 873 阅读 · 0 评论 -
【Java开发指南 | 第十九篇】Java方法
在Java中,方法是一段代码块,用于执行特定的任务或操作。方法包含了一系列语句,可以被其他代码多次调用。方法通常用于组织代码,提高代码的重用性和可读性。原创 2024-05-09 12:53:53 · 617 阅读 · 0 评论 -
【Java开发指南 | 第十八篇】Eclipse安装教程
设置项目名,模块化机制自行选择。在eclipse中点击help,再点击install new software。若导入失败,可尝试导入之前的链接。原创 2024-05-06 09:47:08 · 422 阅读 · 7 评论 -
【Java开发指南 | 第十七篇】Java 方法
Java中的方法是用来执行特定任务的一组语句,可以重复使用。它们包含在类或对象中,并通过调用来执行。举个例子,println() 是一个方法,System.out.println()表示调用系统类 System 中的标准输出对象 out 中的方法 println()。原创 2024-04-20 08:39:04 · 726 阅读 · 4 评论 -
【Java开发指南 | 第十六篇】Java数组及Arrays类
数组的元素是通过索引访问的。数组的索引从零开始,即第一个元素的索引是0,第二个元素的索引是1,以此类推到 arrayRefVar.length-1。: 数组中的所有元素必须是相同的数据类型,可以是基本数据类型(如int、double等)或者是引用数据类型(如对象)。数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 For-Each 循环。Java中的数组是一种用来存储固定大小的相同类型元素的数据结构。: 数组中的元素在内存中是连续存储的。原创 2024-04-19 15:10:35 · 886 阅读 · 2 评论 -
【Java开发指南 | 第十五篇】Java Character 类、String 类
类是 Java 中用来表示字符的包装类,它提供了一系列静态方法用于对字符进行操作,其主要分为静态方法和实例方法两种。而前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。:检查指定的字符是否为空白字符,如空格、制表符等。方法将指定的字符串连接到调用字符串的末尾。:检查指定的字符是否为字母或数字。:检查指定的字符是否为小写字母。:检查指定的字符是否为大写字母。:返回指定字符的字符串表示形式。:将指定的字符转换为大写形式。:检查指定的字符是否为数字。:检查指定的字符是否为字母。原创 2024-04-19 10:54:10 · 1306 阅读 · 4 评论 -
【Java开发指南 | 第十四篇】Java Number类及Math类
它包含了一系列用于执行基本数学运算的静态方法,如求幂、开方、三角函数、取整等。由于Math.random()方法会返回一个大于等于0.0且小于1.0的随机浮点数,如何生成1~100之间的随机整数呢?类提供了将各种数字类型(如整数、浮点数等)转换为标准格式的方法(如intValue()类中的方法是以最优化和高效的方式实现的,因此在开发中经常被用来执行数学计算。doubleValue()),并可以进行数字之间的转换和比较。类的实例,可以直接通过类名调用这些方法。类也是Java中的一个类,也位于。原创 2024-04-19 08:56:30 · 1067 阅读 · 1 评论 -
【Java开发指南 | 第十三篇】Java条件语句
语句用于在多个条件之间进行选择,它允许您测试多个条件并执行相应的代码块。当条件列表中的条件顺序地被检查,并且第一个为真时,与该条件相关联的代码块将被执行。switch 语句中的变量类型可以是: byte、short、int 或者 char。Java 中的条件语句用于根据条件来执行不同的代码块。我们可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。语句用于在条件为真时执行一个代码块,而在条件为假时执行另一个代码块。语句用于在条件为真时执行一段代码块。原创 2024-04-18 20:03:34 · 757 阅读 · 1 评论 -
【Java开发指南 | 第十二篇】Java循环结构
循环是一种入口控制循环,它在每次迭代之前检查循环条件是否为真。**声明语句:**声明新的局部变量,该变量的类型必须和数组元素的类型匹配。循环是一种方便的迭代结构,它将初始化、条件检查和迭代更新放在一个语句中。循环中执行时,它会导致程序立即跳转到更新语句(即下一次迭代的开始处),而不执行循环体中。如果break在多层循环的某一层,则只会跳出该层循环,并且继续执行该循环下面的语句。循环是一种出口控制循环,它在每次迭代之后检查循环条件是否为真。**表达式:**表达式是要访问的数组名,或者是返回值为数组的方法。原创 2024-04-18 19:30:48 · 666 阅读 · 0 评论 -
【Java开发指南 | 第十一篇】Java运算符
假设整数变量 A 的值为 60 和变量 B 的值为 13(60 = 0011 1100;如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。该运算符有3个操作数,并且需要判断布尔表达式的值。Java运算符包括:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。先进行自增或者自减运算,再进行表达式运算。先进行表达式运算,再进行自增或者自减运算。原创 2024-04-17 22:42:35 · 760 阅读 · 1 评论 -
【Java开发指南 | 第十篇】Java修饰符
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。抽象方法抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。规则如下:抽象方法不能被声明成 final 和 static。任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。// 抽象方法,动物发出声音。原创 2024-04-16 22:23:49 · 752 阅读 · 4 评论 -
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。在 Java 中,一个类可以由其他类派生。如果我们需要创建一个类,而且已经存在一个类具有我们所需要的属性或方法,那么我们可以将新创建的类继承该类。在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。原创 2024-04-15 18:30:21 · 550 阅读 · 4 评论 -
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
每个类可以有一个或多个构造方法,构造方法的名称必须与类同名。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。在创建一个对象的时候,至少要调用一个构造方法。原创 2024-04-15 18:28:45 · 510 阅读 · 0 评论 -
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
另外,常量通常用于存储一些固定的值,如数学常数、配置信息等,而静态变量通常用于存储可变的数据,如计数器、全局状态等。为了确保静态变量的线程安全性,需要采取适当的同步措施,如同步机制、原子类或 volatile 关键字,以便在多线程环境中正确地读取和修改静态变量的值。总之,静态变量是与类相关的变量,具有唯一性和共享性,可以用于存储整个程序都需要使用的数据,但需要注意初始化时机和与常量的区别。需要注意的是,静态变量的访问权限与实例变量不同,因为静态变量是与类相关的,不依赖于任何实例。原创 2024-04-15 18:25:21 · 645 阅读 · 0 评论 -
【Java开发指南 | 第六篇】Java成员变量(实例变量)、 类变量(静态变量)
静态变量的定义方式是在类中使用static关键字修饰变量,通常也称为类变量。// 其他成员变量和方法。原创 2024-04-15 18:22:38 · 749 阅读 · 1 评论 -
【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量
实例变量(Instance Variables):实例变量是在类中声明,但在方法、构造函数或块之外,它们属于类的实例,每个类的实例都有自己的副本,如果不明确初始化,实例变量会被赋予默认值(数值类型为0,boolean类型为false,对象引用类型为null)。**静态变量或类变量(Class Variables):**类变量是在类中用 static 关键字声明的变量,它们属于类而不是实例,所有该类的实例共享同一个类变量的值,类变量在类加载时被初始化,而且只初始化一次。原创 2024-04-15 18:20:37 · 781 阅读 · 0 评论 -
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
进行自动类型转换时,必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。Java可以使用修饰符来修饰类中方法和属性。常量在程序运行时是不能被修改的。原创 2024-04-15 18:12:44 · 471 阅读 · 0 评论 -
【Java开发指南 | 第三篇】Java 空行、强制类型转换及基本数据类型
Java语言提供了八种基本类型包括六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。空白行或者有注释的行,Java 编译器都会忽略掉。我们先从内置数据类型开始讲解。原创 2024-04-15 18:09:37 · 566 阅读 · 0 评论 -
【Java开发指南 | 第二篇】标识符、Java关键字及注释
Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关键字不能用于常量、变量、和任何标识符的名称。原创 2024-04-15 18:06:34 · 635 阅读 · 0 评论 -
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
对象是类的一个实例,有状态(对象的属性)和行为(类的方法)。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。:它定义了对象的行为或功能,一个类可以有很多方法。:类是一个模板,它描述一类对象的行为和状态。例如水果是一个类,动物是另一个类。如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。原创 2024-04-15 18:04:12 · 470 阅读 · 0 评论