Java中允许在类中使用抽象方法,然后使用JNI使用本地语言实现其他方法。抽象方法的本地实现
例如:
abstract class Mommy {
abstract protected void call();
}
class Son extends Mommy {
native protected void call() /*
'native code'
*/
}
什么是预期的行为是的话,可能发生或一切都很好,与“解决办法”运行时错误?
Java中允许在类中使用抽象方法,然后使用JNI使用本地语言实现其他方法。抽象方法的本地实现
例如:
abstract class Mommy {
abstract protected void call();
}
class Son extends Mommy {
native protected void call() /*
'native code'
*/
}
什么是预期的行为是的话,可能发生或一切都很好,与“解决办法”运行时错误?
预期的行为是什么?它是一个运行时错误,可能发生或一切正常与“解决方法”?
假设您实施本地方法(正确)并加载包含实现的本地库,那么一切正常。
我不知道是否容易出错或对任何良好/最佳实践?
没有,也没有。
或者至少,它不是更错误倾向或更多对“最佳实践”比使用本地代码。
顺便说一句,你真的应该阅读James Bach's "No Best Practices" article,然后再围绕像“最佳实践”这样的狡猾的术语。
似乎工作得很好。如果你想在本地实现之间轻松切换,这是非常酷的解决方案。
https://github.com/mkowsiak/jnicookbook/tree/master/recipeNo030
你试过吗? – Radiodef
当然,它经历了编译过程,但我不知道是否容易出错或违反任何良好/最佳实践? –