深入探索Jess与Java交互及工作内存管理
1. Jess调用Java重载方法与访问成员数据
Jess在调用Java重载方法时,与Java有不同的处理方式。Java会选择最匹配的方法,若没有明确选择则可能出现编译错误。而Jess由于缺乏Java那样严格的类型信息,在选择重载方法时更为宽松。例如,Java的 println 方法有针对 double 和 float 的不同版本,但Jess只有一种浮点类型,无法确定调用哪一个。
Jess调用重载方法时,会依次检查每个重载方法,尝试将方法的参数类型与传入的参数类型进行匹配,调用第一个能使用给定参数列表调用的重载方法,而不会寻找最佳匹配。
有时候,调用特定的重载方法可能会遇到困难。比如,当将字符串 "TRUE" 传递给一个既可以接受 boolean 类型又可以接受 String 类型的Java方法时,很难预测Jess会选择哪个重载方法。此时,可以使用显式的包装类来解决问题。例如,若想调用 boolean 类型的重载方法,但Jess调用了 String 类型的重载方法,可以创建并传递一个 java.lang.Boolean 对象,因为Jess会自动将 java.lang.Boolean 转换为 boolean ,而不会转换为 String 。
除了调用Java方法,
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



