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

时间:2019-04-19 07:19:10

标签: java

我是Java的新手,过去一年的考试使我陷入困境。

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

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

我可以阅读任何资料来增进我对静态/动态绑定的了解吗?

1 个答案:

答案 0 :(得分:1)

  • 类型转换-编译时间,但无法捕获并抛出ClassCastExceptionJava Type Casting
  • 后期绑定-运行时编译时,用于对最终方法,私有方法或静态方法的调用(Late Binding in Java
  • 可访问性检查-访问修饰符仅是C ++中的编译时机制。但是,在Java中,它们也是在 runtime 强制执行的,因为Java也具有运行时类型系统,并且它可以动态(在运行时)创建类。因此,对于在编译时不知道的类型,它也需要在运行时强制执行访问。 (OOP Access Modifiers: Compile-time or Run-time
  • 类型推断-编译时间-类型推断是Java编译器查看每个方法调用和相应声明以确定类型参数的能力。适用的调用(Type Inference
  • 类型擦除-编译时-类型擦除可以解释为仅在编译时强制执行类型约束并在运行时丢弃元素类型信息的过程({{ 3}})
  • 类型检查-编译时间,但例如通过instanceofType Erasure in Java)促进运行时类型检查