- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包額外內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang -有用資源
- Java.lang - 討論
Java Class cast() 方法
描述
Java Class cast() 方法將物件強制轉換為由該 Class 物件表示的類或介面。
宣告
以下是 java.lang.Class.cast() 方法的宣告
public T cast(Object obj)
引數
obj − 要強制轉換的物件。
返回值
此方法在強制轉換後返回物件,如果 obj 為 null,則返回 null。
異常
ClassCastException − 如果物件不為 null 且不可分配給型別 T。
將物件強制轉換為類的示例
以下示例顯示了 java.lang.Class.cast() 方法的用法。在這個程式中,我們建立了一個 ClassDemo 的例項,然後使用 getClass() 方法獲取並列印例項的類。我們有兩個類 A 和 B,其中 B 擴充套件 A。現在建立 A 和 B 的例項,然後使用 cast() 方法將 B 的例項強制轉換為 A。
package com.tutorialspoint;
class A {
public static void show() {
System.out.println("Class A show() function");
}
}
class B extends A {
public static void show() {
System.out.println("Class B show() function");
}
}
public class ClassDemo {
public static void main(String[] args) {
ClassDemo cls = new ClassDemo();
Class c = cls.getClass();
System.out.println(c);
Object obj = new A();
B b1 = new B();
b1.show();
// casts object
Object a = A.class.cast(b1);
System.out.println(obj.getClass());
System.out.println(b1.getClass());
System.out.println(a.getClass());
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
class com.tutorialspoint.ClassDemo Class B show() function class com.tutorialspoint.A class com.tutorialspoint.B class com.tutorialspoint.B
強制轉換物件到類時遇到異常的示例
以下示例顯示了 java.lang.Class.cast() 方法的用法。在這個程式中,我們建立了一個 ClassDemo 的例項,然後使用 getClass() 方法獲取並列印例項的類。我們有兩個類 A 和 B。現在建立 A 和 B 的例項,然後使用 cast() 方法將 B 的例項強制轉換為 A。由於 B 與 A 不相容,因此會引發異常。
package com.tutorialspoint;
class A {
public static void show() {
System.out.println("Class A show() function");
}
}
class B {
public static void show() {
System.out.println("Class B show() function");
}
}
public class ClassDemo {
public static void main(String[] args) {
ClassDemo cls = new ClassDemo();
Class c = cls.getClass();
System.out.println(c);
Object obj = new A();
B b1 = new B();
b1.show();
// casts object
Object a = A.class.cast(b1);
System.out.println(obj.getClass());
System.out.println(b1.getClass());
System.out.println(a.getClass());
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
class com.tutorialspoint.ClassDemo Class B show() function Exception in thread "main" java.lang.ClassCastException: Cannot cast com.tutorialspoint.B to com.tutorialspoint.A at java.base/java.lang.Class.cast(Class.java:4067) at com.tutorialspoint.ClassDemo.main(ClassDemo.java:28)
java_lang_class.htm
廣告