1. 请解释 Java 的基本数据类型及其大小。
答:Java 有 8 种基本数据类型,分别是 byte、short、int、long、float、double、char 和
boolean。它们的大小如下:
- byte:1 字节
- short:2 字节
- int:4 字节
- long:8 字节
- float:4 字节
- double:8 字节
- char:2 字节
- boolean:1 字节
2. 请解释 Java 中的类和对象的概念。
答:在 Java 中,类是一种抽象的模板,用于描述具有相同属性和行为的对象的共同特征。
对象是类的实例化,即根据类的定义创建的具体实体。每个对象都有自己的属性值和方法。
3. 请解释 Java 中的继承和多态。
答:继承是面向对象编程的一个重要特性,它允许一个类继承另一个类的属性和方法。子类
可以重写或扩展父类的方法。多态是指同一个方法在不同对象上具有不同的行为。在 Java
中,多态是通过方法重写和方法重载实现的。
4. 请解释 Java 中的接口和抽象类的区别。
答:接口是一种完全抽象的类,它只包含抽象方法和常量。接口不能被实例化,但可以被实
现。抽象类是一种特殊的类,它可以包含抽象方法和非抽象方法。抽象类可以被实例化,但
它要求子类必须实现所有的抽象方法。
5. 请解释 Java 中的封装和隐藏的概念。
答:封装是将数据和操作数据的方法包装在一起的过程。在 Java 中,通过将属性设置为
private,并提供公共的 getter 和 setter 方法来实现封装。隐藏是指子类隐藏了父类的某个方
法,使得在子类中调用该方法时,会优先调用子类的方法而不是父类的方法。
6. 请解释 Java 中的构造方法的作用。
答:构造方法是一种特殊的方法,用于初始化对象。当创建一个对象时,构造方法会被自动
调用。构造方法的名称与类名相同,没有返回类型,并且可以有参数。
7. 请解释 Java 中的静态方法和非静态方法的区别。
答:静态方法是属于类的,而不是属于对象的。它可以在不创建对象的情况下直接通过类名
调用。非静态方法是属于对象的,只有创建对象后才能调用。静态方法不能访问非静态成员
变量和非静态成员方法,而非静态方法可以访问静态成员变量和非静态成员方法。
8. 请解释 Java 中的 final 关键字的作用。
答:final 关键字用于修饰变量、方法和类。当一个变量被声明为 final 时,它的值不能再被
修改。当一个方法被声明为 final 时,它不能被子类重写。当一个类被声明为 final 时,它不
能被继承。