Le modificateur native est utilisé dans le but d'identifier une déclaration de méthode native, c'est-à-dire écrite dans un autre langage que Java.

[modificateurs] native Type nomMethode([Arguments]) 
                                                                    throws TypeException;

A l'instar des méthodes abstraites, une méthode native remplace son bloc d'instructions par un point-virgule.

Une méthode native ne peut pas être déclarées avec le modificateur abstract.

Les méthodes natives présentes dans les bibliothèques dynamiques partagées propre à la plateforme de développement, peuvent être accédées par un programme Java à l'aide de l'interface JNI.

Evidemment, en raison de sa connexité avec la plateforme cible, une méthode native n'est pas portable.