Предположим, что у меня есть два класса, происходящих от третьего абстрактного класса:
public abstract class Parent{
public Parent(){
}
}
public class ChildA extends Parent {
public ChildA {
}
}
public class ChildB extends Parent {
public ChildB {
}
}
В С# я мог бы обрабатывать кастинг несколько безопасным образом, выполняя следующие действия:
ChildA child = obj as ChildA;
Что бы сделать child == null, если это не объект типа ChildA. Если бы я должен был сделать:
ChildA child = (ChildA)obj;
... в С# это вызовет исключение, если тип был неправильным.
Итак, в принципе, есть ли способ сделать первый тип кастинга в Java? Спасибо.