java子类父类参数传递_java – 将子类传递给一个方法,但是以超类作为参数?

我有一个抽象类车辆与2实现子类RedVehicle和YellowVehicle.

在另一班,我有一个列表包含两个子类的实例.

我想要能够传入一个类类型的方法,然后使用该类型来确定在List中要做什么对象的集合.

由于Class是通用的,所以我应该用某些东西进行参数化,但是将参数作为父类,将停止调用代码的工作,因为ExampleMethod现在期待一种类型的Vehicle,而不是RedVehicle或YellowVehicle的子类.

我觉得应该有一个干净的方法来做到这一点,什么是正确的方式来实现功能?

注:我不一定要通过Class类,如果有更好的建议,我会乐意尝试这些.

来电代码:

service.exampleMethod(RedVehicle.class);

service.exampleMethod(YellowVehicle.class);

字段/方法:

//List of vehicles

//Vehicle has 2 subclasses, RedVehicle and YellowVehicle

private List vehicles;

//Having as the Class parameter stops the calling code working

public void exampleMethod(Class type)

{

for(Vehicle v : vehicles)

{

if(v.getClass().equals(type))

{

//do something

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值