Не точно , как это, потому что функция Java_A()
пытается вызвать Java_B()
со списком аргументов, который не соответствует параметрам последнего.Но поскольку возникает вопрос, может ли одна реализация нативного метода вызывать другую напрямую, да, может, точно так же, как она может вызывать любую другую функцию C, доступную для него.Ничто по своей сути не мешает этому.
ОДНАКО семантика такого вызова не эквивалентна семантике вызова (нативного) метода для одного и того же объекта Java, будь то Java или нативно через JNI.Например, прямой вызов обходит любую синхронизацию метода на стороне Java и не является полиморфным.Кроме того, в случае прямого вызова вы работаете только с одним выделением локальных ссылок для обеих функций вместе.Могут быть и другие, похожие соображения.