Java
 Computer >> コンピューター >  >> プログラミング >> Java

ClassCastExceptionとは何ですか?Javaでいつスローされますか?


java.lang.ClassCastException 未チェックの1つです 例外 Javaで。これは、プログラムで1つのクラスタイプのオブジェクトを変換しようとしたときに発生する可能性があります。 別のクラスタイプのオブジェクトに 。

ClassCastExceptionがスローされるのはいつですか

  • 親クラスのオブジェクトをキャストしようとしたとき から その 子クラスタイプ この例外がスローされます。
  • あるクラスのオブジェクトを別のクラスにキャストしようとしたとき 他のクラスを拡張していないタイプ、またはそれらの間に関係がないタイプ。

class ParentTest {
   String parentName;
   ParentTest(String n1){
      parentName = n1;
   }
   public void display() {
      System.out.println(parentName);
   }
}
class ChildTest extends ParentTest {
   String childName;
   ChildTest(String n2) {
      super(n2);
      childName = n2;
   }
   public void display() {
      System.out.println(childName);
   }
}
public class Test {
   public static void main(String args[]) {
      ChildTest ct1 = new ChildTest("Jai");
      ParentTest pt1 = new ParentTest("Adithya");
      pt1 = ct1;
      pt1.display();

      ParentTest pt2 = new ParentTest("Sai");
      ChildTest ct2 = (ChildTest)pt2;
   }
}

出力

Jai
Exception in thread "main" java.lang.ClassCastException: ParentTest cannot be cast to ChildTest
        at Test.main(Test.java:30)

  1. JavaでのCursorクラスの重要性は何ですか?

    カーソル オブジェクトのサブクラスです クラスであり、ポイントまたはインジケーターとして定義できます。 画面上。 カーソル ユーザーがマウスで操作するシステムからの入力を選択するために使用されます 。 カーソルで使用できるさまざまな種類のカーソル クラスはDEFAULT_CURSOR、CROSSHAIR_CURSOR、HAND_CURSOR、TEXT_CURSOR、WAIT_CURSOR Cursorクラスの重要なメソッドは、 getDefaultCursor()、getName()、getPredefinedCursor()、getSystemCustomCursor()です。 およびge

  2. JavaのLayoutManagerとLayoutManagerのタイプとは何ですか?

    レイアウトマネージャーを使用すると、コンテナー内のコンポーネントのサイズと位置を決定することで、GUIフォームでのビジュアルコンポーネントの配置方法を制御できます。 LayoutManagerの種類 Javaには6つのレイアウトマネージャーがあります FlowLayout :ページ上の単語のように、コンポーネントをコンテナに配置します。 左から右、上から下のトップラインを埋めます 。コンポーネントは、追加された順序で配置されます。つまり、最初のコンポーネントが左上に表示されます。コンテナがすべてのコンポーネントを表示するのに十分な幅がない場合は、ラインにラップされます。コンポーネント