大家好,欢迎来到IT知识分享网。
在java中,native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。
native方法的执行依赖于JVM的设计者,比如在sun HotSpot(JVM)中,通过JNI(Java Native Interface)的API接口来实现本地化。
Native方法常用于两种情况:
1)在方法中调用一些不是由java语言写的代码。
2)在方法中用java语言直接操纵计算机硬件。
在定义一个native方法时,并不提供实现体(有些像定义一个java interface),因为其实现体是由非java语言在外面实现的,下面给了一个示例:
1
2
3
4
5
|
public class INativeDemo{
native public void Native1( int x);
native static public long Native2();
native synchronized private float Native3(Object o);
}
|
native标识符可以与所有其它的java标识符连用,但是abstract除外。因为native标识符暗示这些方法是有实现体的,只不过这些实现体是非java的,但是abstract却显然的指明这些方法无实现体。native与其它java标识符连用时,与同java普通方法并无差别,比如native static表明这个方法可以在不产生类的实例时直接调用。上面的第三个方法用到了native synchronized,JVM在进入这个方法的实现体之前会执行同步锁机制。
native方法的存在并不会对其他类调用这些本地方法产生任何影响,实际上调用这些方法的其他类甚至不知道它所调用的是一个本地方法。如果一个含有本地方法的类被继承,子类会继承这个本地方法并且可以用java语言重写这个方法,同样的如果一个本地方法被fianl标识,它被继承后不能被重写。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24282.html