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