大哥,你写错了。 Fu f=new Zi(); 子类继承了父类,所以使用父类引用指向子类对象是可以的,这就是多态的特性。如果你的父类是抽象类,或者父类的构造方法被私有化,或者父类是接口,你是不能直接创建父类对象的。
子类对象在创建时,确实拥有了父类的所有非私有的功能,甚至可以追溯到Object类。
使用Fu f=new Zi(); 这样的好处是,以后你又创建了一个OtherZi类继承自Fu类,那么你还是可以使用该Fu类的引用指向OtherZi类对象。这样做很通用。这就是多态的好处!
一个典型的例子 List<String> lists=ArrayList<String>(); |