今天在看源码的时候,一直跟进了class。发现了native这个关键字.
于是就开始网上查资料。
简单的讲就是一个Native Method就是一个java调用了非java代码的接口,具体实现体是非java实现!
Native Method该方法的实现由非java语言实现,比如C。这个特征并不是java所特有,很多其它的编程语言都有这一机制, 标识符native可以与所有其它的java标识符连用,但是abstract除外。这是合理的,因为native暗示这些方法是有实现体的,只不过这些实现体是非java的,但是abstract却显然的指明这些方法无实现体。native与其它java标识符连用时,其意义同非Native Method并无差别。
public native boolean isAssignableFrom(Class<?> cls);
/**
* Determines if the specified {@code Class} object represents an
* interface type.
*
* @return {@code true} if this object represents an interface;
* {@code false} otherwise.
*/
public native boolean isInterface();
/**
* Determines if this {@code Class} object represents an array class.
*
* @return {@code true} if this object represents an array class;
* {@code false} otherwise.
* @since JDK1.1
*/
public native boolean isArray();