Java 方法和原生方法有什么区别?


本文将帮助您了解 Java 方法和原生方法之间所有区别。

函数/方法

程序模块(程序的一部分),在程序的不同实例中同时使用以执行特定任务,称为方法或函数。它可以被视为一个黑盒,能够返回输出(根据内部代码的执行获得)。类似地,Java 类中所有可用的方法都充当黑盒。在向方法提供值(参数)时,它会处理其中可用的代码并返回输出。

使用方法的优点

  • 它向用户隐藏低级内部代码细节。可以允许外部使用方法,而无需公开内部细节。

  • 它根据需要重用类代码段,只需使用方法名称即可。

  • 它将复杂的计算任务划分为一系列较小的方法,从而使问题解决变得更容易、特定于对象和模块化。

定义方法

定义方法的一般形式如下所示:

<Access specifier> <Return Type> <Method Name> (Parameter List){
   Statement
   ______________
   ______________
   return (value);
}

示例

public int Addition(int a, int b){
   int sum = 0;
   sum + = a + b;
   return (sum);
}

这里 public 是访问修饰符,int 是返回类型,Addition 是方法名称,int a 和 int b 是参数。

原生方法

原生方法是一种 Java 方法,它以 Java 以外的语言启动。这可以访问 Java 中无法直接使用的特定于系统的函数和 API。

使用原生方法会导致应用程序的可移植性受限,因为它涉及特定于系统的代码。它们可以是新的代码语句或调用现有原生代码的代码语句。

在运行原生方法时,需要与 Java 虚拟机进行互操作。这是通过 Java 本地接口 (JNI) 完成的,它以平台无关的方式促进了这种互操作性。

JNI 是一组接口,允许原生方法通过多种方式与 JVM 互操作。例如,JNI 可以包含创建对象、调用方法、获取字段、设置字段、操作数组、操作字符串和执行进程异常的接口。

原生方法的用途

在 Java 编程语言不足以满足编程需求的情况下,应该使用原生方法。这是因为使用它们会导致应用程序的可移植性受限,因为它涉及特定于系统的代码。下面给出了一些应该使用原生方法的情况:

  • 访问使用 JAVA 编程语言无法访问的系统函数。

  • 实现从原生实现中受益匪浅的性能特定方法。

  • 创建现有 API 的接口,允许 JAVA 调用其他 API。

创建原生方法的步骤

步骤 1 - 编写 Java 代码并编译它。

步骤 2 - 创建 C 头文件(.h)。

步骤 3 - 使用工具 Java − HEdge 创建 C 存根文件。

步骤 4 - 编写 C 代码。

步骤 5 - 创建共享代码库或 DLL

步骤 6 - 运行应用程序

Java 方法和原生方法的区别

序号 Java 方法 原生方法
1 它专门用 Java 语言编写。 它用 Java 以外的语言编写,例如 C。
2 没有单独的关键字来声明方法。 要声明原生方法,必须使用“native”关键字。
3 无法访问特定于系统的函数。 用于访问特定于系统的函数。
4 需要 Java 虚拟机来执行。 需要 Java 本地接口来执行。
5 不会限制应用程序的可移植性。 限制应用程序的可移植性。
6 示例 - public int getValue (int n) { } 示例 - public native int getValue (int n);

更新于:2022-09-05

844 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.