用于类型转换/类型绑定/类型推断等的编译时或运行时

Jia*_*Lua 1 java

我对 Java 比较陌生,去年的一次考试让我陷入了困境。

该任务要求我区分哪些选项在编译时/运行时运行。

  1. 类型铸造。
  2. 后期绑定。
  3. 可访问性检查。
  4. 类型推断。
  5. 键入擦除。
  6. 类型检查。

我可以阅读任何资源来提高我对静态/动态绑定的理解吗?

Xar*_*lus 5

  • 类型转换-编译时但无法捕获并抛出ClassCastExceptionJava 类型转换
  • 后期绑定-一般运行时和调用最终、私有或静态方法的编译时间( Java 中的后期绑定
  • 可访问性检查- 访问修饰符只是 C++ 中的一种编译时机制。然而,在 Java 中,它们也在运行时强制执行,因为 Java 也有运行时类型系统,并且它可以动态(在运行时)创建类。因此,它也需要在运行时强制访问它在编译时不知道的类型。(OOP 访问修饰符:编译时或运行时
  • 类型推断-编译时- 类型推断是 Java 编译器查看每个方法调用和相应声明以确定使该调用适用的类型参数(或多个参数)的能力(类型推断
  • 类型擦除-编译时- 类型擦除可以解释为仅在编译时强制执行类型约束并在运行时丢弃元素类型信息的过程(Java 中的类型擦除
  • 类型检查-编译时但促进运行时类型检查,例如通过instanceofJava 在编译时检查哪些内容?