java子类数组的引用转换成超类数组的引用

Posted 薰衣草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java子类数组的引用转换成超类数组的引用相关的知识,希望对你有一定的参考价值。

public class Person {
    
}

 

public class Student extends Person{
    private String name;

    public Student(String name) {
        this.name = name;
    }

    public Student() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name=\'" + name + \'\\\'\' +
                \'}\';
    }
}

 

public class Test01 {
    public static void main(String[] args) {

        //java中子类数组的引用可以转换为超类数组的引用,而不需要采用强制类型转换。
        Student[] student = new Student[5];

        //但是student和objs引用的是同一个对象
        Person[] person = student;

        //如果试图存储一个Person类型的引用就会引发ArrayStoreException异常
        person[0] = new Person();

    }
}

 

 

以上是关于java子类数组的引用转换成超类数组的引用的主要内容,如果未能解决你的问题,请参考以下文章

马凯军201771010116《面向对象程序设计(java)》第七周学习总结

Java超类对象引用访问子类对象

Java超类引用子类对象的规律

Java入门

关于超类引用和子类对象的混淆

将对象转换为 Parcelable 超类的子类?