java继承:区分继承类的类型

Lui*_*cía 0 java inheritance

我有一个名为Abstract的抽象类A和两个继承的类:BC.我有一个带参数的方法:

myMethod (final A a)
Run Code Online (Sandbox Code Playgroud)

并且我希望在实例化对象的类型的情况下做出不同的事情.我该怎么做?

一个很好的选择是遵循另一种设计模式,但我现在不允许更改我的代码.

谢谢.

ecb*_*die 5

使用instanceof关键字.例如:

if (a instanceof B) {...}
else if (a instanceof C) {...}
else {...}
Run Code Online (Sandbox Code Playgroud)