锁定老帖子 主题: corejava辅导(4--3)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-03
多态的使用
多态用于参数,在方法的参数中传入其父类类型,在运行时会根据实际的运行时类型来在方法中进行相应的操作。 多态用于返回值,在方法的返回值类型上是用其实际返回值的父类型,在使用其返回值时也不必关心其实际类型。
多态使代码变得更通用,以适应需求的变化。定义在父类中的方法,可以在子类中有不同的实现将其覆盖,在为父类型的对象引用赋值相应需要功能的子类的对象实例。 例: public class TestCar{ public static void main(String[] args){ CarFactory cf=new CarFactory(); Car c1=cf.createCar(1); Car c2=cf.createCar(0); c1.run(); c2.run(); cf.testCar(c2); cf.testCar(c1); } }
public class CarFactory{ public Car createCar(int a){//多态用作返回值类型 if(a==1){ return new BenzCar(); }else { return new BMWCar(); } } public void testCar(Car c){//多态用作方法的参数 c.test(); } } class Car{ public void run(){ } public void test(){ } }
class BenzCar extends Car{ public void run(){ System.out.println(“BenzCar is Run”); } public void test(){ System.out.println(“BenzCar is very good”); } }
class BMWCar extends Car{ public void run(){ System.out.println(“BMW is Run”); } public void test(){ System.out.println(“BMWCar is very beauty Car ”); }
结果: BenzCar is Run BMW is Run BMWCar is very beauty Car BenzCar is very good
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-12-08
多态讲得有点儿太少了...,可以讲得更多一些.
|
|
返回顶楼 | |
浏览 1120 次