现在的位置: 首页 > 综合 > 正文

java/多态

2013年03月25日 ⁄ 综合 ⁄ 共 440字 ⁄ 字号 评论关闭

 

面向对象续

1.多态
通常对象只有一种表现形式,而对象变量有不同的形式,所以可以指向不同的对象。例如,
动物 a=new 蚂蚁();动物 b=new 蜘蛛();
再来引申一下,object c=new 昆虫();因为所有类的父类都是object,所以可以这样写。

在这里,我们定义了一个数组:动物 动物园的动物【】={new 蚂蚁(),new 蜘蛛()},我们通常是访问不到数组元素的属性和方法的。
但不能不代表不行,我们可以通过强制转换,即将父类引用转换为子类引用。不过这两者必须得有继承关系。此为向下转换,downcasting。例Test4

向上转换的规则:
·将一个父类对象的引用指向一个子类对象成为向上转换。动物 a=new 蚂蚁();
·不能通过父类的对象变量调用子类特有的方法。
·为什么说特定呢?其实也可以调用,不过调用的是子类覆盖的父类的方法或继承的方法。其不是父类的方法。

向下转换的规则:
·将一个子类对象的引用赋给父类对象。即T tt=(T)t;T为子类对象,tt为对象变量,t为父类对象。test5

 

抱歉!评论已关闭.