이 코드는 아무런 예외도없이 다운 캐스팅이 수행 될 것이라고 말합니다. 그러나 객체 (a)는 이미 Dog3 클래스 였고, 왜 다시 다운 캐스팅해야합니까? 내가이 클래스의 객체 (a)를 만든 다음 그것을 추방하려고 시도했을 때 예외가 발생했습니다.하지만 Java tpoint에서는 이것이 instanceof 연산자에서 가능하다고합니다. 그렇습니까? 예를 들어instanceof 연산자의 사용
class Animal
{
}
class Dog3 extends Animal
{
static void method(Animal a)
{
if(a instanceof Dog3){
Dog3 d=(Dog3)a;//downcasting
System.out.println("ok downcasting performed");
}
}
public static void main (String [] args)
{
Animal a=new Dog3();
Dog3.method(a);
}
}
에서 일부 특정 방법을 사용하는 방법 매개 변수의 유형은'동물이기 때문에하는
Dog3
참조를 사용하려는 경우 ', 다른 코드로 인해 다운 캐스트가 수행되지 않을 수 있습니다. – markspace