首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

父类引用子类对象与子类引用子类对象有什么区别解决方法

2012-04-05 
父类引用子类对象与子类引用子类对象有什么区别能做的行为都一样,有什么意义呢?[解决办法]可以实现多态。这

父类引用子类对象与子类引用子类对象有什么区别
能做的行为都一样,有什么意义呢?

[解决办法]
可以实现多态。
这样做的目的是如果一个父类是A,而且要实现一个方法要能接受任意的A的子类,就用到了多态。
详细的可以参看多态的使用。比如工厂模式
[解决办法]
父类引用指向子类对象,这样就是多态。一个方法的调用跟具体实现相关,不同的实现不同的表现。
[解决办法]
父类引用子类对象可以实现多态,但是同时也不能调用子类中特有的方法
子类引用子类对象灵活性不如父类引用子类对象,但是可以调用子类本身特有的方法和改变子类子类特有属性
[解决办法]

探讨
能做的行为都一样,有什么意义呢?

[解决办法]
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的子类都可以传入

热点排行