A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张磊 黑马帝   /  2011-8-29 20:12  /  2045 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到jdk源码的时候经常发现,native关键字,是不是调用Java语言用c写的那些东东啊?

2 个回复

正序浏览
黑马网友  发表于 2011-8-31 18:55:32
藤椅
java native方法是指本地方法,当在方法中调用一些不是由java语言写的代码或者在方法中用java语言直接操纵计算机硬件时要声明为native方法。
       java中,通过JNI(Java Native Interface,java本地接口)来实现本地化。
Native方法一般用于两种情况:
       1)在方法中调用一些不是由java语言写的代码。
       2)在方法中用java语言直接操纵计算机硬件。
       如果使用了native方法也就丢失了java的方便性和安全性。Native方法的执行依赖于JVM的设计者,比如在sun的JVM中,可以通过JNI(Java Native Interface) API接口来实现本地化。

       一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
      "A native method is a Java method whose implementation is provided by non-java code."

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 回答的不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-29 21:45:21
沙发
native是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马