1. 定义:如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时。
则称A类对象a是子类B对象b的上转型对象。
2. 性质:对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。
上转型对象具有以下特点:
1.上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。
即为较子类B失去一些属性和功能,这些属性和功能是新增的。
2.上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。
即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。
3.上转型对象调用方法时,就是调用子类继承和重写过的方法。
而不会是新增的方法,也不是父类原有的方法。
可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。
JAVA迭代器是程序设计的软件设计模式,可在容器上遍访的接口,设计人员无需关心容器的内容。
JAVA迭代器是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。
JAVA是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此JAVA语言具有功能强大和简单易用两个特征。
多态是面向对象编程的特征之一,而接口是一系列方法的声明,是一些方法特征的集合,这两者不是同一类型和层次上的概念。
接口可以体现出多态性来,但多态性不必用接口,只要存在方法的重写和重载与动态连接即可体现多态性。
两者可以在不同的概念层次上并存,不存在冲突。
在程序里可以用代码定义一个接口,但是不能定义一个多态,多态只是对代码特征的一种描述,一种概念上的抽象和总结。