日期:
来源:十二说IT收集编辑:子类
1、 一个基类的引用类型变量可以指向其子类对象;
2、 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);
3、 可以使用 “引用变量 instance of类名” 来判断该引用型变量所指向的对象是否属于该类或者该类的子类;
4、 子类的对象可以当作基类的对象来使用,称作向上转型;反之为向下转型。
举例说明:
我们先新建一个基类,两个子类。
2.测试中可以看到:子类向上转型后只能访问基类的方法 ,对基类实例animal强制转型为子类后可以同时访问本类和基类的方法。
需要注意的是:如果这样写 编译不会出错,运行就会出错(ClassCastException)。虽继承同一个基类,但不允许这样强制转换的。如下,会直接报错。
内存表示大致如此:
当对象向上转型时: Animal animal=new Dog();
当对象向下转型时: Dog dog=(Dog)animal;