PHP __call equivalent for java

后端 未结 5 969
醉梦人生
醉梦人生 2021-02-07 10:11

Is there a Java equivalent for the __call of PHP?

It would make sense to me if that\'s not the case, because it would probably result in compiler errors.

From th

5条回答
  •  难免孤独
    2021-02-07 10:45

    This sort of dynamic method/attribute resolution which is common in dynamically typed languages such as PHP, Python and Ruby is not directly supported in the Java language.

    The effect can be approximated using Dynamic Proxies which requires you to have an interface for which the implementation will be dynamically resolved. Third party libraries such as CGLIB allow similar things to be done with normal Java classes.

    This API based, special case interception of method invocation is not as convenient as the direct, always on support you can get with __call in PHP or equivalent features in other dynamically typed languages (such as __getattr__ in Python). This difference is due the fundamentally different ways in which method dispatch is handled in the two types of languages.

提交回复
热议问题