抽象方法和类
Object作为父类
Object类的方法
位于java.lang包中的Object类位于类层次结构树的顶端。所有类都是Object类的直接或间接子类。您使用或编写的每个类都继承了Object的实例方法。您无需使用这些方法,但若选择使用,则可能需要通过特定于您类的代码覆盖它们。本节讨论的从Object继承的方法包括:
- protected Object clone() throws CloneNotSupportedException: 创建并返回此对象的一个副本。
- public boolean equals(Object obj): 指示某个对象是否与此对象“相等”。
- protected void finalize() throws Throwable: 当垃圾回收器确定对象不再被引用时,由垃圾回收器调用该对象。从Java 18开始,该方法已被废弃并计划移除。
- public Class<?> getClass(): 返回此对象的运行时类。
- public int hashCode(): 返回该对象的哈希码值。
- public String toString(): 返回该对象的字符串表示形式。
请注意,自 Java SE 9 起,finalize() 方法已被弃用,并计划在 Java SE 18 中移除。强烈建议不要重写此方法。该方法终将不再被调用。更多信息请参阅本页末尾部分。
多态
多态
多态性的字典定义指生物学中的一种原理,即生物体或物种可呈现多种形态或发育阶段。该原理同样适用于面向对象编程及Java等语言。类的子类可定义自身独特的行为,同时共享父类的部分功能。
通过对 Bicycle 类进行微小修改即可演示多态性。例如,可以在该类中添加一个printDescription()方法,用于显示实例当前存储的所有数据。
public void printDescription(){
IO.println("\nBike is " + "in gear " + this.gear
+ " with a cadence of " + this.cadence +
" and travelling at a speed of " + this.speed + ". ");
}
继承
Java中的装箱和拆箱
String Builders
字符串
创建字符串
字符串在Java编程中广泛使用,它是一系列字符的序列。在Java编程语言中,字符串是对象。
Java平台提供了 String 类来创建和操作字符串。
创建字符串最直接的方式是这样:
String greeting = "Hello, World!";
在此情况下,“Hello world!”是一个字符串字面量——即代码中用双引号括起来的一系列字符。编译器在代码中遇到字符串字面量时,会创建一个与其值相同的String对象——本例中即为Hello world!。
与其他对象一样,你可以使用 new 关键字和构造函数创建 String 对象。String 类提供了十三个构造函数,允许你通过不同来源(如字符数组)为字符串提供初始值:
char[] helloArray = { 'H', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
IO.println(helloString);
字符
字符
大多数情况下,若使用单字符值,则采用 char 类型。例如:
char ch = 'a';
// Unicode for uppercase Greek omega character
char uniChar = '\u03A9';
// an array of chars
char[] charAarray = {'a', 'b', 'c', 'd', 'e'};
然而,有时你需要将字符作为对象使用——例如作为方法参数时,该参数要求传入对象。Java编程语言为此提供了一个包装类,它将字符”包装”成Character对象。Character类型的对象包含一个字段,其类型为字符。该Character类还提供了一系列有用的类方法(即静态方法)来操作字符。