클래스끼리 서로 전달하는 데 문제가 있습니다.Java에서 클래스 캐스팅 예외
더 자세히 설명하려면이 이미지를 참조하십시오. 내 코드에서
, 나는 SkillBase s = new SkillBase();
을하고 그 클래스의 일부 값을 설정합니다. 그렇다면 Subclass sub = (Subclass)s;
을 실행하려고 시도했지만 실행하면 ClassCastException이 발생합니다.
작은 디버그 부분을 추가하여 instanceof
이 true를 반환하는지 확인합니다.
내가 aswell 여기에 몇 가지 질문을보고, 구글을 시도하고 그들을 그래서
(그들 중 누구도 나를 위해이었다 대답이 없었다) 읽었습니다, 나는 무엇을해야합니까?
사실, 그게 내가하고있는 일이다. 서브 클래스는 SkillBase를 확장하므로 캐스팅 할 수 있어야합니다. – Lolmewn
추가하려면 :'Subclass' *는 *'SkillBase'입니다. 반대로 ** 사실이 아닙니다. 부모 클래스를 자식으로 캐스트 할 수 없습니다. –
@Lolmewn : 실물 예제를 추가했습니다. –