Java Modifier isNative(mod)方法及实例
java.lang.reflect.Modifier 的 isNative(mod) 方法用于检查整数参数是否包括本地修改器。如果这个整数参数代表本地类型的修改器,那么该方法返回true,否则返回false。
语法
public static boolean isNative(int mod)
参数: 该方法接受一个整数名称,因为mod代表一组修改器。
返回 :如果修改器包括本地修改器,该方法返回真,否则返回假。
下面的程序说明了isNative()方法:
程序1 :
// Java program to illustrate isNative() method
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class GFG {
public static void main(String[] args)
throws NoSuchFieldException
{
// get Method class object
Method[] methods
= Calculator.class.getMethods();
// get Modifier Integer value
int mod = methods[0].getModifiers();
// check Modifier is native or not
boolean result = Modifier.isNative(mod);
System.out.println("Mod integer value "
+ mod + " is native : "
+ result);
}
class Calculator {
native void addNumbers();
}
}
输出。
Mod integer value 17 is native : false
程序2
// Java program to illustrate isNative()
import java.lang.reflect.*;
public class GFG {
public static void main(String[] args)
{
// get Method class object
Method[] methods
= Numbers.class.getMethods();
// get Modifier Integer value
int mod1 = methods[0].getModifiers();
int mod2 = methods[1].getModifiers();
// check Modifiers are native or not
boolean result1 = Modifier.isNative(mod1);
boolean result2 = Modifier.isNative(mod2);
// print results
System.out.println("Mod integer value "
+ mod1 + " for method "
+ methods[0].getName()
+ " is native : "
+ result1);
System.out.println("Mod integer value "
+ mod2 + " for method"
+ methods[1].getName()
+ " is native : "
+ result2);
}
// sample native class
abstract class Numbers {
abstract public int initializeNumber();
int declareNumbers()
{
return 0;
}
}
}
输出。
Mod integer value 1025 for method initializeNumber is native : false
Mod integer value 17 for methodwait is native : false
**参考文献: ** https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Modifier.html#isNative(int)