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解决这个问题(可以不断修改的对象)

框架+数据

posted @ 2025-02-01 21:13  Ryan_jxy  阅读(22)  评论(0)    收藏  举报