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
當然,它經歷了編譯過程,但我不知道是否容易出錯或違反任何良好/最佳實踐? –