上一篇通过一个简单的demo介绍了什么是对象的向上转型,那么对应的就有对象的向下转型。
什么是向下转型;即将父类的对象赋值给子类的引用
1、向下转型的前提是向上转型
class Person
{String name;
int age;
void introduce(String name,int age)
{
System.out.println("my name is :"+name+",age is :"+age);
}
}
class Student extends Person
{
String address;
void study()
{
System.out.println("学生需要学习");
}
void introduce(String name,int age )
{
super.introduce(name,age);
System.out.println("my adress is :"+address);
}
}
class Test7
{
public static void main(String[] args)
{
Person p = new Student();//首先需要向上转型。
Student s = (Student)p;//然后把p强制转换为Student类
s.introduce("ff",10);
s.study();
}
}
/*
打印结果:
my adress is :null
学生需要学习
*/