java Collection c = new ArrayList();
为什么c不可以调用属于ArrayList的方法这个不属于多态么不也是有父类引用指向子类对象么...
为什么c不可以调用属于ArrayList的方法
这个不属于多态么
不也是有父类引用指向子类对象么 展开
这个不属于多态么
不也是有父类引用指向子类对象么 展开
4个回答
展开全部
是父类的引用指向子类的对象 但是他本身是父类类型啊
能用的就是父类的属性方法
能用的就是父类的属性方法
追问
那么多态不是也是由父类的引用实现的么?
追答
恩 是的
父类的引用
引用谁呢?
是不是可以说 父类想引用那个子类都是可以的呢
那样的话 父类是不就呈现多态了
当然这是前面的前提
最重要的是 子类要方法覆盖
定义父类的时候 我们可能父类还没有其他的子类 就他一个 你要是直接定义成子类的对象
那以后想用别的怎么办?
其实你讲的 有另外一种叫法 就叫 回调函数 相当于类对象的回调
有一篇博文写的很不错
但是现在找不到了
你可以 查查 回调机制
很不错
这个对于开发有很大的帮助 可以说是解耦性的一种很好的帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Collection c是Collection类的成员,他没有ArrayList()的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
arraylist 自己有的方法,父类是不能调用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询