本节课程将学习以下内容:
- 对象的向上转型
- 对象的向下转型
对象的向上转型
概念:
将子类的对象赋值给父类的引用。
注意:
- 两个类一定要有继承关系;
- 将子类的对象赋值给父类的引用;
- 一个引用能够调用哪些成员(变量、方法),取决于这个引用的类型;
- 一个引用调用的是哪个方法,取决于这个引用所指向的对象。
格式:1
2
3
4
5// Student类是Person类的子类
Student s = new Student();
// 将子类的对象s赋值给父类的引用p;
// 理解:每一个学生都是一个人。
Person p = s;
例子1:(请动手)
1.新建一个名为Person.java的Java源文件:
1 | class Person{ |
2.新建一个名为Student.java的Java源文件:
1 | class Student extends Person{ |
3.新建一个名为Demo01.java的Java源文件:
1 | class Demo01{ |
对象的向下转型
概念:
将父类的对象赋值给子类的引用。
格式:1
2
3
4
5Student stu01 = new Student();
// 向上转型
Person p1 = stu01;
// 向下转型
Student stu02 = (Student)p1;
特点:
- 要进行向下转型,先进性向上转型;
*
例子2:(请动手)
1.新建一个名为Demo01.java的Java源文件:1
2
3
4
5
6
7
8
9
10
11class Demo01{
public static void main(String[] args) {
// 子类Student的对象stu01
Student stu01 = new Student();
// 向上转型
Person p1 = stu01;
// 向下转型
Student stu02 = (Student)p1;
}
}