这样做不但正确而且是最好的做法,利用了面向对象的多态性. 而且是一种设计模式. 举个例子说明一下这种用法的好处: 假如类Employee有两个子类Manager1和Manager2. 利用上面的做法可以这样用, Employee e = new Manager1(); ... e = new Manager2(); ... 这样对象e可以代表所有的Employee类的子类对象. 可是用这样用, Manager1 e = new Manager1(); ... e = new Manager2(); (错误用法) ... 这样e对象只能代表Manager1子类对象了.这种用法在很多设计模式中的核心技术(如工厂模式).详细的可以自己看一下.
而且是一种设计模式.
举个例子说明一下这种用法的好处:
假如类Employee有两个子类Manager1和Manager2.
利用上面的做法可以这样用,
Employee e = new Manager1();
...
e = new Manager2();
...
这样对象e可以代表所有的Employee类的子类对象.
可是用这样用,
Manager1 e = new Manager1();
...
e = new Manager2(); (错误用法)
...
这样e对象只能代表Manager1子类对象了.这种用法在很多设计模式中的核心技术(如工厂模式).详细的可以自己看一下.
这个是那本书上的例子嘛?呵呵