父类引用子类对象与子类引用子类对象有什么区别

leposvic 2011-12-22 06:06:07
能做的行为都一样,有什么意义呢?
...全文
203 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
24K純帥 2011-12-22
  • 打赏
  • 举报
回复
子类引用子类是啥意思。。
ldxfriend 2011-12-22
  • 打赏
  • 举报
回复 1
public class Test{
public static void main(String args[]){
Child child1=new Child();
Parent child2=new Child();
System.out.println(child1.getAge());
System.out.println(child1.getName());
System.out.println(child2.getName());

}
}
class Parent{
public static String getName(){
return "Parent";
}
}
class Child extends Parent{
public static int getAge(){
return 15;
}
}}
你看这个程序,子类引用child1指向子类对象,child1不但可以调用自已的特有方法,还可以调用父类的方法,而父类引用指向子类对象,要调用的方法必须是父类所有的,所以child2不能调用getAge();
而多态的好处是提高了扩展性,比如有个方法
public void show(Parent p){}
假设Parent 有很多子类Child1,Child2,Child3....那么show()方法中所有Parent的子类都可以传入
feixingfei 2011-12-22
  • 打赏
  • 举报
回复
运行时动态绑定
nmyangym 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 leposvic 的回复:]
能做的行为都一样,有什么意义呢?
[/Quote]

能做的行为不一样!这是很关键的!
子类引用子类 一对一。
父类引用子类 多对一。
看看多态,慢慢理解!
gmemai 2011-12-22
  • 打赏
  • 举报
回复
父类引用子类对象可以实现多态,但是同时也不能调用子类中特有的方法
子类引用子类对象灵活性不如父类引用子类对象,但是可以调用子类本身特有的方法和改变子类子类特有属性
dreamhunter_lan 2011-12-22
  • 打赏
  • 举报
回复
父类引用指向子类对象,这样就是多态。一个方法的调用跟具体实现相关,不同的实现不同的表现。
龙腾冰 2011-12-22
  • 打赏
  • 举报
回复
可以实现多态。
这样做的目的是如果一个父类是A,而且要实现一个方法要能接受任意的A的子类,就用到了多态。
详细的可以参看多态的使用。比如工厂模式
Flycutter 2011-12-22
  • 打赏
  • 举报
回复
实现多态

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧