Java知识点汇总
数据类型:
在计算机系统中,数据的基本单位是比特位(b),每个比特位只能取0或1的值。这些最小的信息单元被组织成更大的容量单位:将连续的8个比特位组合成一个字节(B)。其中常见的容量单位包括千兆(KB)、兆兆(MB)、吉加(GB)和太伽(TB)。通常情况下,在字符编码中每个英文字母占用一个字节的空间,在简体中文环境下每个汉字占用两个字节的空间。单个字节可以表示的数据范围通常是从-128到+127。数字分为整数、浮点和长整型等类型。为了避免歧义,在讨论数值类型时需要特别注明具体含义
关键字
this
调用当前对象的属性、构造方法和方法
super
调用父类的属性、构造方法和方法
static
静态变量、方法、代码块、内部类,用于类名.方法调用
final
涉及修饰类、属性和方法的部分 代表无法更改的常量以及无法被修改的方法,并且不具备继承性的类。这些内容有助于增强程序的安全性与性能
instanceof
主要用以判断给定的对象是否属于某个特定类别的实例,或者其子类中的一个实例;同时,在防止类型转换异常发生以及多态场景下的应用方面具有重要作用。
class Animal {}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
//1、类型检查
Animal animal = new Dog();
if (animal instanceof Dog) {
System.out.println("animal is an instance of Dog");
}
//2、避免类型转换异常
Animal animal = new Animal();
if (animal instanceof Dog) {
Dog dog = (Dog) animal; // 此处进行类型转换
} else {
System.out.println("animal is not an instance of Dog");
}
//3、在多态中的应用
Animal animal1 = new Dog();
if (animal1 instanceof Dog) {
Dog dog = (Dog) animal1;
dog.makeSound(); // 输出: Dog barks
}
}
}
代码解读
抽象类
通过关键字abstract修饰的类无法创建实例仅能继承其字段通常默认使用public static final修饰
如果有多个类具备相同的行为与属性时可以把它们共有的部分提取到一个抽象类别中
接口
使用 interface 关键字来声明
声明、实现、单继承、多继承、回调
异常
用于应对程序运行过程中可能出现的错误、意外状况或不可预测的问题,在Java编程语言中,默认情况下会将所有潜在的风险限制在方法调用范围内。为此设计了一套完整的异常处理机制:首先通过try关键字启动一个块状代码区域;接着利用catch关键字捕获该块中可能出现的所有类型的Exception;最后借助finally关键字完成资源释放或其他必要的操作任务。此外还可以借助throw和throws关键字来抛出异常并明确声明可能被抛出的具体类型
异常类型: 在 Java 中, 异常是由 类来表示的 , 所有的 异常类型 都是 Throwable 类 或 其子类 的 实例 。 常见类型的 异常 包括 Exception(可被捕获的 异常 ) 和 Error( 表示 严重的 系统 问题 , 通常无法恢复)
抛出异常: 使用 throw 关键字可以在代码中抛出一个异常。例如:
throw new IllegalArgumentException("Invalid input");
代码解读
捕获和处理异常事件: 通过 try-catch 块结构能够有效地捕获和处理可能出现的错误或意外情况。try 区域负责执行可能会触发异常的代码逻辑,在 catch 区域则负责捕捉这些异常并采取相应的措施以避免程序崩溃或数据丢失。例如,在编程中常见的场景是这样的:
try {
// 可能抛出异常的代码
} catch (Exception e) {
// 捕获并处理异常
}
代码解读
- 多重捕获: 通过多个
catch块能够识别不同类型的异常并分别应对它们。通常将异常按照具体到一般的方式排列。
try {
// 可能抛出异常的代码
} catch (IOException e) {
// 处理 IO 异常
} catch (Exception e) {
// 处理其他异常
}
代码解读
- finally 块:
finally块用于包含在try-catch块中的代码执行完毕后一定会被执行的语句。无论是否发生异常,finally块中的代码都会被执行,通常用于释放资源或执行清理操作。例如:
try {
// 可能抛出异常的代码
} catch (Exception e) {
// 捕获并处理异常
} finally {
// 释放资源或执行清理操作
}
代码解读
throws 关键字: 该关键字允许声明一个方法可能会抛出的异常类型。如果一个方法可能会抛出错误或异常,则应通过 throws 关键字通知调用者以便处理这些情况。例如,在编写函数时如果预期它会遇到某些潜在错误,则应在函数体内声明这些潜在错误。
public void readFile() throws IOException {
// 可能抛出 IOException 的代码
}
代码解读
- 定制化 异常: 定制化 异常可以通过基于
Exception类或其子类的方式进行生成。使用生成的定制化 异常类能够更加有效地区分不同类型的 异常,并能提供更多详细的信息。
