JAVA转型

包括向上转型和向下转型

向上转型

将子类的对象赋值给父类的引用

一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型

一个引用调用的是哪个方法,取决于这个引用所指向的对象

public class Person {

    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println("Person 二参构造");
    }

    void introduce() {
        System.out.println("我的名字是" + name + ", 我的年龄是" + age);
    }
}
public class Student extends Person {

    String address;

    public Student(String name, int age, String address) {
        super(name, age);
        this.address = address;
    }

    void introduce() {
        super.introduce();
        System.out.println("我的地址是" + address);
    }

}
public class Test {

    public Test() {
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student student = new Student("furong", 12, "BeiJing");
        Person person = student;
        
        person.name = "quange";
        person.age = 13;
        
        person.introduce();
    }

}

运行结果

Person 二参构造
我的名字是quange, 我的年龄是13
我的地址是BeiJing

向下转型

将父类的对象赋值给子类的引用

原文地址:https://www.cnblogs.com/zhangxuechao/p/13597961.html