Pyt*_*ner 2 java primitive-types
我正在复习 Java 角色的原始类型面试问题。我在测试期间被问到这样的陈述。
原始类型是不继承自 java.lang.Object 的任何类型。
还有其他类型不扩展java.lang.Object。例如,null是一个值,因此它不会扩展它。接口也不扩展它,尽管抽象类可以。
关于原始类型,答案是肯定的和否定的。当您编写它们时,原始类型不会继承自java.lang.Object. 但是,当将 Java 代码编译为 Java 字节码时,编译器会执行称为自动装箱的操作。
简而言之,在编译时,编译器将所有原始值转换为其包装类(Integer对于 int、Boolean对于 boolean 等)。然而,他这样做的效率很高,因为它转变int i = 0;为Integer i = Integer.valueOf(0);. 在幕后,valueOf包装类型的功能是一个享元工厂,即最多有一个整数 0 的实例,一个整数 1 的实例,等等......
因此,在编码时,您使用原始类型,但 JVM 使用原始类型的包装器,该包装器实现java.lang.Object.
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |