Java 简介
Java 开发环境配置
Java 基础语法
Java 注释
Java 注释主要有三种类型:
- 单行注释
- 多行注释
- 文档注释
文档注释的格式通常包含一些特定的标签,如 @param 用于描述方法参数,@return 用于描述返回值,@throws 用于描述可能抛出的异常等等,这些标签有助于生成清晰的API文档,以便其他开发者能够更好地理解和使用你的代码。
Java 对象和类
- 一个源文件中只能有一个 public 类
- 一个源文件可以有多个非 public 类
- 源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
- 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
- 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
- import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
Java 基本数据类型
在 Java 中使用 final 关键字来修饰常量
Java 变量类型
Java 变量命名规则
Java 修饰符
Java 运算符
**前缀自增自减法(++a,--a):**先进行自增或者自减运算,再进行表达式运算。
**后缀自增自减法(a++,a--):**先进行表达式运算,再进行自增或者自减运算。
Java 循环结构 - for, while 及 do...while
Java 循环结构 -- for, while 及 do...while | 菜鸟教程
Java 条件语句 - if...else
Java switch case 语句
Java Number & Math 类
Java Character 类
Java String 类
String s2 = "Runoob"; // String 直接创建
String s4 = new String("Runoob"); // String 对象创建
String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上
**注意:**String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
Java StringBuffer 和 StringBuilder 类
Java StringBuffer 和 StringBuilder 类 | 菜鸟教程
StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类
Java 数组
Java 日期时间
Java 正则表达式
Start 方法返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引,end 方法最后一个匹配字符的索引加 1。
Java 方法
void类型方法,它不返回值。
Java 构造方法
在构造方法中可以使用 this 来引用当前对象的属性、方法,或调用另一个构造方法(必须是构造方法的第一行),以避免重复代码。
Java 流(Stream)、文件(File)和IO
Java 流(Stream)、文件(File)和IO | 菜鸟教程
Java Scanner 类
Java 异常处理
Java 继承
一个子类只能拥有一个父类,所以 extends 只能继承一个类
implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口
使用 final 关键字声明类,就是把类定义定义为最终类,不能被继承,或者用于修饰方法,该方法不能被子类重写
子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。
Java 重写(Override)与重载(Overload)
Java 重写(Override)与重载(Overload) | 菜鸟教程
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。
Java 多态
Java 抽象类
- 如果一个类包含抽象方法,那么该类必须是抽象类。
- 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
Java 封装
Java 接口
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
Java 枚举(enum)
Java 包(package)
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
在 Java 中,import 关键字用于导入其他类或包中定义的类型,以便在当前源文件中使用这些类型。
import 关键字用于引入其他包中的类、接口或静态成员,它允许你在代码中直接使用其他包中的类,而不需要完整地指定类的包名。
Java 反射(Reflection)
Java 数据结构
Java ArrayList
Java LinkedList
Java HashSet
Java HashMap
Java Iterator(迭代器)
Java Object 类
Java NIO Files 类
与传统 I/O 的比较
| 特性 | Files 类 (NIO) | 传统 I/O (java.io) |
|---|---|---|
| 方法类型 | 静态方法 | 实例方法 |
| 路径表示 | 使用 Path 接口 | 使用 File 类 |
| 异常处理 | 统一使用 IOException | 多种异常类型 |
| 功能丰富度 | 更丰富的功能 | 基础功能 |
| 符号链接处理 | 原生支持 | 有限支持 |
| 文件属性操作 | 更全面 | 有限 |
通过 Files 类,Java 提供了更现代、更强大的文件操作 API,推荐在新项目中使用它替代传统的 java.io.File 类。
Java 泛型
Java 序列化
实现 Serializable 接口: 要使一个类可序列化,需要让该类实现 java.io.Serializable 接口,这告诉 Java 编译器这个类可以被序列化,
public class LoginUser implements Serializable {}
一个类的对象要想序列化成功,必须满足两个条件:
该类必须实现 java.io.Serializable 接口。
该类的所有属性必须是可序列化的。如果有一个属性不是可序列化的,则该属性必须注明是短暂的。