25.2.1小记
Object类

Object类中自带的toString和equals函数(默认比较管理者是否管理相同的对象,可以通过对子类函数的重构实现正常比较)
// @Override//重写,编译器会默认构造类型检查
public boolean equals(Object obj) {
//向下造型
CD cc = (CD)obj;
return artist.equals(cc.artist);
}
条件:只有当父类引用实际指向的是子类对象时,才能进行向下转型。换句话说,向下转型的安全性取决于对象的实际类型,而不是引用的声明类型。
eg.
class Animal {
void eat() {
System.out.println("Animal eating");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog barking");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog(); // 向上转型
Dog dog = (Dog) animal; // 向下转型
dog.bark(); // 调用子类方法
}
}
在这个例子中,animal是一个Animal类型的引用,但它指向的是Dog对象,因此可以安全地向下转型为Dog。

String类型的对象无法进行修改,而是每次创造一个新的string
则可用StringBuffer解决这个问题(可以不断修改的对象)




框架+数据


浙公网安备 33010602011771号