我希望能够在运行时(大概使用反射)区分这两种情况,前者在初始化时定义了一个最终字段(即常量),后者通过构造函数定义它。
class MyClass {
final int value = 42;
public MyClass() {
}
}
class MyClass {
final int value;
public MyClass() {
value = 42;
}
}
我尝试通过检查字段的访问标志和修饰符来执行此操作,但没有找到任何相关内容。
有办法做到这一点吗?
不。 一个只是另一个的语法糖,因此反射可以识别的运行时没有实际差异。