corejava辅导(4--3)

多态的使用

 

多态用于参数,在方法的参数中传入其父类类型,在运行时会根据实际的运行时类型来在方法中进行相应的操作。

多态用于返回值,在方法的返回值类型上是用其实际返回值的父类型,在使用其返回值时也不必关心其实际类型。

 

多态使代码变得更通用,以适应需求的变化。定义在父类中的方法,可以在子类中有不同的实现将其覆盖,在为父类型的对象引用赋值相应需要功能的子类的对象实例。

例:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值