JAVA 강제 형식 변환 자주 발생 하 는 오류
990 단어 JAVA
1.두 가지 유형 이 상속 관계 가 없 을 때:
package Test;
public class Test {
public static void main(String []args) {
C c = new C();
B b = (B) c;
}
}
class B extends A {
public void locate() {
System.out.println("class B");
}
}
class C {
public void locate() {
System.out.println("class C");
}
}
이때(B)c 이 줄 코드 아래 에 오류 알림 이 나타 납 니 다.Cannot cast from C to B
2.초 클래스 가 하위 클래스 로 강제 전 환 될 때:
package Test;
public class Test {
public static void main(String []args) {
A a = new A();
B b = (B) a;
}
}
class A {
public void locate() {
System.out.println("class A");
}
}
class B extends A {
public void locate() {
System.out.println("class B");
}
}
이때 코드 에 오류 알림 이 나타 나 지 않 지만 실행 할 때 이상 을 던 집 니 다.4.567913.정확 한 해결 방법:강제 유형 전환 을 할 때 instanceof 를 사용 하여 판단 한다.
java.lang.ClassCastException
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.