Java中是否有反射的隐式用法?

Java中是否有反射的隐式用法?,java,Java,前几天我接受了一次采访,我被问到开发人员是否经常使用反射?我说过,我只是在学习反射本身时才使用它,我不知道它在Java中有任何“隐藏”的用法 后来我忘了问面试官这件事。但是,是否存在使用反射而对开发人员来说并不明显的情况?好的,AOP是解决横切问题的反射的常见用例之一 例如,Spring AOP在反射包中使用动态代理在某些情况下实现缓存、事务边界管理、异常处理、执行异步方法等。好的,AOP是反射的常见用例之一,它解决了交叉关注点 例如,Spring AOP在反射包中使用动态代理在某些情况下用于缓

前几天我接受了一次采访,我被问到开发人员是否经常使用反射?我说过,我只是在学习反射本身时才使用它,我不知道它在Java中有任何“隐藏”的用法


后来我忘了问面试官这件事。但是,是否存在使用反射而对开发人员来说并不明显的情况?

好的,AOP是解决横切问题的反射的常见用例之一


例如,Spring AOP在反射包中使用动态代理在某些情况下实现缓存、事务边界管理、异常处理、执行异步方法等。

好的,AOP是反射的常见用例之一,它解决了交叉关注点


例如,Spring AOP在反射包中使用动态代理在某些情况下用于缓存、事务边界管理、异常处理、执行异步方法等的实现。

Java反射例如在对象映射框架(如ModelMapper)中使用。其他用例可能是例如Spring之类的框架,在创建bean定义时,反射用于检查类结构(方法/注释),并在AOP中使用。

Java反射例如在ModelMapper之类的对象映射框架中使用。其他用例可能是例如Spring之类的框架,在创建bean定义时,反射用于检查类结构(方法/注释),并在AOP中使用。

认为
instanceof
是反射,因为:

该程序观察[价值观]结构并进行类型反思

根据同一个论点,选中类型转换是反射,因为它的作用是相同的:有点像

SomeType s = (SomeType) x;

// is like
if (!(x instanceof SomeType)) {
  throw new ClassCastException();
}
SomeType s = (/* er, some magic that isn't a cast, because I'm saying "this is like a cast" */) x;
但是像这样的演员仍然在做一些明确的事情。您可以在泛型代码中获得隐式强制转换:

List<String> list = Arrays.asList("hi");
String s = list.get(0);
因此,如果您接受强制转换作为反射操作,则泛型代码包含隐式强制转换。

认为
instanceof
是反射,因为:

该程序观察[价值观]结构并进行类型反思

根据同一个论点,选中类型转换是反射,因为它的作用是相同的:有点像

SomeType s = (SomeType) x;

// is like
if (!(x instanceof SomeType)) {
  throw new ClassCastException();
}
SomeType s = (/* er, some magic that isn't a cast, because I'm saying "this is like a cast" */) x;
但是像这样的演员仍然在做一些明确的事情。您可以在泛型代码中获得隐式强制转换:

List<String> list = Arrays.asList("hi");
String s = list.get(0);

因此,如果您接受强制转换作为反射操作,则泛型代码包含隐式强制转换。

您所说的“对开发人员来说不明显”是什么意思?使用注释可能有资格。快速搜索似乎表明注释可以依赖于反射。Carcigenicate,谢谢,我认为你是对的,这是我唯一可以在谷歌上搜索的东西,但我想知道这是否就够了。Joe C,我所说的“对开发人员来说不明显”是指一些封装机制或本机代码中的东西,你知道——只是不明显——许多流行的框架以“隐藏”的方式为各种功能使用反射,例如spring和Hybernate你所说的“对开发人员来说不明显”是什么意思?使用注释可能是合适的。快速搜索似乎表明注释可以依赖于反射。Carcigenicate,谢谢,我认为你是对的,这是我唯一可以在谷歌上搜索的东西,但我想知道这是否就够了。Joe C,我所说的“对开发人员来说不明显”是指一些封装机制或本机代码中的东西,你知道-只是不明显许多流行的框架以“隐藏”的方式使用反射实现各种功能,比如spring和Hybernate谢谢,还有Assaf关于hibernate的信息,这将是我几天的调查谢谢,还有Assaf关于hibernate的信息,这将是我几天的调查,谢谢,这个不错。我从来没有这样想过。还有很多要学,谢谢,这是一个很好的例子。我从来没有这样想过。还有很多东西要学