Java (langage de programmation)
Contexte des écoles Wikipédia
SOS croit que l'éducation donne une meilleure chance dans la vie des enfants dans le monde en développement aussi. Mères SOS chaque regard après une une famille d'enfants parrainés .
Paradigm (s) | multi-paradigme: orienté objet, structurée, impératif, générique, réfléchissant |
---|---|
Paru dans | |
Conçu par | James Gosling et Sun Microsystems |
Promoteur | Oracle Corporation |
Version stable | Java Standard Edition 7 Update 21 (1.7.21) (16 Avril, 2013 |
Typing discipline | Statique, forte, sûre, nominatif, manifeste |
Les grandes implémentations | OpenJDK, beaucoup d'autres |
Dialectes | Générique Java, Pizza |
Influencé par | Ada 83, C ++ , C #, Eiffel, Générique Java, Mesa, Modula-3, Oberon, Objective-C, UCSD Pascal, Smalltalk |
Influencé | Ada 2005, BeanShell, C #, Clojure, D, ECMAScript, Groovy, J #, JavaScript PHP, Python , Scala, Seed7, Vala |
langage de mise en Å“uvre | C et C ++ |
OS | Croix-plate-forme (multi-plateforme) |
Licence | GNU General Public License, Java Community Process |
Habituel les extensions de fichier | .java, .class, .jar |
|
Java est une d'usage général, concurrente, basé sur des classes, orienté objet langage de programmation informatique qui est spécifiquement conçu pour avoir aussi peu de dépendances de mise en œuvre possible. Il est destiné à permettre aux développeurs d'application "écrire une fois, exécuter partout" (WORA), ce qui signifie que le code qui se exécute sur une plate-forme n'a pas besoin d'être recompilées pour fonctionner sur une autre. Les applications Java sont généralement compilé à bytecode ( fichier de classe) qui peut fonctionner sur ne importe quel Machine virtuelle Java (JVM), indépendamment de l'architecture de l'ordinateur. Java est, à partir de 2012, l'une des langues les plus populaires de programmation dans l'utilisation, en particulier pour les applications web client-serveur, avec 10 millions d'utilisateurs déclarés. Java a été initialement développé par James Gosling au Sun Microsystems (qui a depuis fusionné dans Oracle Corporation) et publié en 1995 en tant que composante de base de Sun Microsystems » plate-forme Java. La langue tire une grande partie de son la syntaxe de C et C ++ , mais il a moins installations de bas niveau que l'un d'eux.
L'original et implémentation Java de référence compilateurs, les machines virtuelles, et bibliothèques de classes ont été développés par Sun de 1991 et le premier publié en 1995. En mai 2007, en conformité avec les spécifications de la Java Community Process, Sun relicenciée la plupart de ses technologies Java sous la GNU General Public License. D'autres ont également développé d'autres mises en oeuvre de ces technologies Sun, tels que la GCJ et GNU Classpath.
Histoire
James Gosling, Mike Sheridan, et Patrick Naughton a lancé le projet de langage Java en Juin 1991. Java a été conçu à l'origine pour la télévision interactive, mais il était trop avancé pour l'industrie de la télévision numérique par câble à l'époque. La langue a été initialement appelé Oak après une chêne arbre qui se trouvait devant le bureau de Gosling; il est allé par le nom vert plus tard, et a été rebaptisé Java, à partir de Java, a déclaré à être consommés en grandes quantités par les créateurs de la langue. Gosling visait à mettre en œuvre une machine virtuelle et une langue qui avait un familier C / C ++ style de notation.
Sun Microsystems a publié la première mise en œuvre du public que Java 1.0 en 1995. Il a promis " Write Once, Run Anywhere "(WORA), offrant sans frais temps d'exécution sur la populaire les plates-formes. La sécurité configurable assez sécurisé et mettant en vedette, il a permis restrictions du réseau et d'accès aux fichiers. Navigateurs Web principaux bientôt incorporées la possibilité d'exécuter Applets Java dans les pages Web, et Java est rapidement devenu populaire. Avec l'avènement de Java 2 (publié initialement comme J2SE 1.2 en Décembre 1998 à 1999), de nouvelles versions ont de multiples configurations construites pour différents types de plates-formes. Par exemple, J2EE ciblé applications d'entreprise et la version J2ME grandement allégée pour les applications mobiles (mobile Java). J2SE désigné la Standard Edition. En 2006, à des fins de marketing, Sun rebaptisé nouvelles versions J2 Java EE, Java ME, et Java SE, respectivement.
En 1997, Sun Microsystems approché le Normes ISO / IEC JTC1 corps et plus tard, le Ecma International pour officialiser Java, mais il est vite retiré du processus. Un reste Java la norme de facto, contrôlée par le Java Community Process. À une certaine époque, Sun a fait la plupart de ses implémentations Java disponibles sans frais, en dépit de leur le statut de logiciel propriétaire. Sun a généré des revenus de Java par la vente de licences pour les produits spécialisés tels que Java Enterprise System. Sun établit une distinction entre son Kit de développement logiciel (SDK) et Runtime Environment (JRE) (un sous-ensemble du SDK); La principale distinction implique la Le manque de JRE du compilateur, les programmes utilitaires et les fichiers d'en-tête.
Le 13 Novembre 2006, Sun a publié une grande partie de Java logiciel libre et open source, (FOSS), selon les termes de la GNU General Public License (GPL). Le 8 mai 2007, Sun a terminé le processus, ce qui rend tout le code de base de Java disponible sous libres conditions de distribution des logiciels / open-source, mis à part une petite portion de code à laquelle Sun ne détenaient pas le droit d'auteur.
Vice-président de Sun Rich Green a dit que le rôle idéal de Sun en ce qui concerne Java était comme un "évangéliste." Après Oracle Corporation l 'acquisition de Sun Microsystems en 2009-2010, Oracle se est décrit comme le "gardien de la technologie Java avec un engagement sans relâche à la promotion d'une communauté de participation et de transparence". Ce ne était pas titulaire Oracle, cependant, de déposer une plainte contre Google peu de temps après que, pour l'utilisation de Java dans le SDK Android (voir la section Google ci-dessous). logiciel Java fonctionne sur les ordinateurs portables à les centres de données, les consoles de jeux à scientifiques superordinateurs. Il ya 930 millions Java Runtime Environment télécharge chaque année et de 3 milliards de téléphones mobiles exécuter Java. Le 2 Avril 2010, James Gosling a démissionné de Oracle.
Principes
Il y avait cinq objectifs principaux dans la création du langage Java:
- Il devrait être «simple, orienté objet et familier"
- Il devrait être "robuste et sécurisée"
- Il devrait être "l'architecture neutre et portable"
- Il doit exécuter avec "haute performance"
- Il doit être "interprétée, fileté, et dynamique"
Versions
Versions majeures de Java, ainsi que leurs dates de sortie:
- JDK 1.0 (21 Janvier, 1996)
- JDK 1.1 (19 Février, 1997)
- J2SE 1.2 (8 Décembre, 1998)
- J2SE 1.3 (8 mai 2000)
- J2SE 1.4 (6 Février 2002)
- J2SE 5.0 (30 Septembre, 2004)
- Java SE 6 (11 Décembre 2006)
- Java SE 7 (28 Juillet 2011)
Pratiques
Plate-forme Java
Une caractéristique de Java est la portabilité, ce qui signifie que les programmes informatiques écrits en langage Java doivent fonctionner de façon similaire sur ne importe quelle plateforme / système d'exploitation du matériel. Ce résultat est obtenu en compilant le code de langage Java à une représentation intermédiaire appelée bytecode Java, au lieu de directement à plate-forme spécifique code machine. instructions de bytecode Java sont analogues en code machine, mais ils sont destinés à être interprété par un machine virtuelle (VM) écrit spécifiquement pour le matériel hôte. Les utilisateurs finaux utilisent couramment une Java Runtime Environment (JRE) installé sur leur propre machine pour les applications Java autonomes, ou dans un navigateur Web pour Java applets.
Bibliothèques normalisées fournit un moyen générique pour accéder aux fonctionnalités spécifiques à l'hôte tels que des graphiques, filetage, et la mise en réseau.
Un avantage majeur de l'utilisation de bytecode est le portage. Toutefois, les frais généraux d'interprétation signifie que les programmes interprétés courent presque toujours plus lentement que les programmes compilés à des exécutables natifs ferait. Juste-à -temps (JIT) compilateurs ont été introduites à un stade précoce qui compilent bytecode en code machine en cours d'exécution.
Implémentations
Oracle Corporation est le propriétaire actuel de la mise en œuvre officielle de la plate-forme Java SE, suite à leur acquisition de Sun Microsystems, le 27 Janvier 2010. Cette mise en œuvre est basée sur la mise en œuvre initiale de Java de Sun. La mise en œuvre est disponible pour Oracle Mac OS X, de Windows et Solaris. Parce que Java n'a pas toute standardisation formelle reconnue par Ecma International, ISO / CEI, ANSI, ou un autre organisme de normalisation de tiers, la mise en œuvre Oracle est le la norme de facto.
La mise en œuvre Oracle est emballé en deux distributions différentes: le Java Runtime Environment (JRE) qui contient les parties de la plate-forme Java SE requis pour exécuter les programmes Java et est destiné aux utilisateurs finaux, et de la Java Development Kit (JDK), qui est destiné aux développeurs de logiciels et comprend des outils de développement tels que la Compilateur Java, Javadoc, Jar, et un débogueur.
OpenJDK est une autre implémentation Java SE remarquable qui est sous licence GPL. La mise en œuvre a commencé lorsque Sun a commencé à libérer le code source Java sous GPL. À partir de Java SE 7, OpenJDK est la mise en œuvre officielle de référence de Java.
Le but de Java est de faire toutes les implémentations de Java compatible. Historiquement, la licence de marque de Sun pour l'utilisation de la marque Java insiste pour que toutes les implémentations être «compatible». Il en est résulté un litige avec Microsoft après que Sun a affirmé que la mise en œuvre Microsoft ne prend pas en charge RMI ou JNI et avait ajouté des fonctionnalités spécifiques à la plateforme de leur propre. Sun a poursuivi en 1997, et a gagné en 2001 un règlement de 20 millions de dollars, ainsi que d'une ordonnance du tribunal de faire respecter les termes de la licence de Sun. En conséquence, Microsoft navires ne sont plus de Windows avec Java.
Indépendant de la plateforme Java est essentielle pour Java EE, et une validation encore plus rigoureux est nécessaire pour certifier une mise en œuvre. Cet environnement permet aux applications portables côté serveur.
Performance
Les programmes écrits en Java ont la réputation d'être plus lente et nécessitant plus de mémoire que celles écrites en C ++ . Cependant, la vitesse d'exécution de programmes Java nettement amélioré grâce à l'introduction de Compilation en 1997/1998 pour Just-in-time Java 1.1, l'ajout de fonctionnalités de langage à l'appui une meilleure analyse de code (comme les classes internes, la classe StringBuffer, affirmations optionnels, etc.), et des optimisations dans la machine virtuelle Java lui-même, comme HotSpot devenir le défaut de la JVM de Sun en 2000. En Décembre 2012, microbenchmarks montrent Java 7 est environ 44% plus lent que le C ++.
Certaines plates-formes offrent un soutien matériel direct pour Java; il ya des microcontrôleurs qui peuvent se exécuter Java dans le matériel au lieu d'un logiciel machine virtuelle Java, et processeurs ARM à base peuvent avoir un support matériel pour l'exécution de bytecode Java par leur L'option Jazelle.
La gestion automatique de la mémoire
Java utilise une garbage collector automatique pour gérer la mémoire dans le objet cycle de vie. Le programmateur détermine le moment où les objets sont créés, et le runtime Java est chargé de récupérer la mémoire une fois les objets ne sont plus en cours d'utilisation. Une fois aucune référence à un objet demeurent, le mémoire inaccessible devient admissible à être libéré automatiquement par le garbage collector. Quelque chose de semblable à un fuite de mémoire peut encore se produire si le code d'un programmeur contient une référence à un objet qui ne est plus nécessaire, généralement lorsque les objets qui ne sont plus nécessaires sont stockés dans des conteneurs qui sont encore en usage. Si les méthodes d'un objet inexistant sont appelés, une «exception de pointeur nul" est levée.
L'une des idées derrière modèle de gestion automatique de la mémoire de Java est que les programmeurs peuvent être épargnés le fardeau d'avoir à effectuer une gestion manuelle de la mémoire. Dans certains langages, une mémoire pour la création d'objets est implicitement attribuée à la pile, ou explicitement alloué et désalloué du tas. Dans ce dernier cas, la responsabilité de la gestion de la mémoire réside avec le programmateur. Si le programme ne pas libérer un objet, un fuite de mémoire se produit. Si le programme tente d'accéder à ou de la mémoire deallocate qui a déjà été désallouée, le résultat est indéfini et difficiles à prévoir, et le programme est susceptible de devenir instable et / ou de collision. Ceci peut être en partie résolu par l'utilisation de pointeurs intelligents, mais ceux-ci ajoutent des frais généraux et de la complexité. Notez que la collecte des ordures ne empêche pas les fuites de mémoire "logiques", ce est à dire ceux où la mémoire est toujours référencé mais jamais utilisé.
Collecte des ordures ménagères peut arriver à tout moment. Idéalement, il se produit lorsqu'un programme est inactif. Il est assuré d'être déclenchée si la mémoire libre est insuffisant sur le tas d'allouer un nouvel objet; cela peut provoquer un programme à bloquer momentanément. Gestion de la mémoire explicite ne est pas possible en Java.
Java ne supporte pas C / C ++ de style l'arithmétique des pointeurs, où les adresses des objets et des entiers non signés (généralement longs nombres entiers) peuvent être utilisés de manière interchangeable. Cela permet le garbage collector de déménager des objets référencés et assure la sécurité et la sécurité de type.
Comme dans C ++ et quelques autres langages orientés objet, les variables de Java de types de données primitifs sont pas des objets. Les valeurs des types primitifs sont soit directement stockés dans des champs (pour les objets) ou sur la empiler (pour les méthodes) plutôt que sur le tas, comme souvent vrai pour les objets (mais voir Échappent à l'analyse). Ce était une décision consciente par les concepteurs de Java pour des raisons de performances. Pour cette raison, Java ne était pas considéré comme un langage de programmation orienté objet pur. Cependant, comme de Java 5.0, autoboxing permet aux programmeurs de faire comme si les types primitifs étaient des cas de leur classe wrapper.
Java contient plusieurs types de collecteurs d'ordures. Par défaut, utilise le HotSpot Concurrent Mark Sweep collecteur, également connu sous le Garbage Collector CMS. Cependant, il ya aussi plusieurs autres éboueurs qui peuvent être utilisés pour gérer le tas. Pour 90% des applications en Java, le Garbage Collector CMS est assez bon.
Syntaxe
La syntaxe de Java est largement dérivée de C ++ . Contrairement à C ++, qui combine la syntaxe pour structurée, générique et la programmation orientée objet, Java a été construit presque exclusivement comme un langage orienté objet. Tout le code est écrit à l'intérieur d'une classe, et tout est un objet, à l'exception des types de données primitifs (par exemple, entiers, nombres à virgule flottante, les valeurs booléennes, et caractères), qui ne sont pas des classes pour des raisons de performances.
Contrairement à C ++, Java ne fonctionne pas opérateur surcharge ou l'héritage multiple pour les classes. Cela simplifie la langue et aide à prévenir les erreurs potentielles et conception anti-modèle.
Java utilise des méthodes similaires à commentant C ++. Il ya trois différents styles de commentaires: un style de ligne unique marqué par deux barres obliques ( //
), un style de ligne multiples ouverte avec /*
et fermés avec */
, et de la Javadoc commentant le style ouvert avec /**
et fermé avec */
. Le style Javadoc de commenter permet à l'utilisateur de lancer l'exécutable Javadoc d'établir une documentation pour le programme.
Exemple:
// Ce est un exemple d'un commentaire d'une seule ligne en utilisant deux barres obliques / * Ceci est un exemple d'un commentaire de plusieurs lignes en utilisant la barre oblique et astérisque. Ce type de commentaire peut être utilisé pour contenir beaucoup d'informations ou désactiver code, mais il est très important de se rappeler de fermer le commentaire. * / / ** * Ceci est un exemple d'un commentaire Javadoc; Javadoc peut compiler la documentation * À partir de ce texte. * / / ** Enfin, un exemple d'une méthode écrite en Java, enveloppé dans une classe. * / fibsandlies de colis; java.util.HashMap importation; FibCalculator public class étend Fibonacci implémente Calculatrice { HashMap private static <Integer, Integer> memoized = new HashMap <Integer, Integer> (); / ** Compte tenu d'un certain nombre FIBINDEX non-négatif, les retours, * Le nombre Nième Fibonacci, où N est égal FIBINDEX. *param FibIndex L'indice du nombre de Fibonacci *return Le nombre de Fibonacci se * / Override public static int Fibonacci (int fibIndex) { if (memoized. contient (fibIndex)) { retourner memoized obtenir (fibIndex). } Else { int réponse = Fibonacci (fibIndex - 1) + Fibonacci (fibIndex - 2); . memoized mis (fibIndex, réponse); retourner réponse; } } }
Exemples
Bonjour le monde
La traditionnelle Bonjour programme mondial peut être écrit en Java que:
classe HelloWorldApp { main (String [] args) {public static void Système hors de println ("Bonjour tout le monde!");.. // Affiche la chaîne. } }
Pour comparer à d'autres langages de programmation voir la liste des bonjour exemples de programmes de monde.
Les fichiers sources doivent être nommés d'après la classe publique qu'ils contiennent, ajoutant le suffixe .java
, par exemple, HelloWorldApp.java
. Il doit d'abord être compilé en bytecode, en utilisant un compilateur Java, produisant un fichier nommé HelloWorldApp.class
. Ce est alors seulement peut-il être exécuté, ou «lancé». Le fichier source Java ne peut contenir une classe publique, mais il peut contenir plusieurs classes avec d'autres que l'accès public et un certain nombre de publics les classes internes.
Une class
qui ne est pas déclarée public
peut être stockée dans un fichier .java. Le compilateur génère un fichier de classe pour chaque classe définie dans le fichier source. Le nom du fichier de classe est le nom de la classe, avec .class annexées. Pour la génération de fichier de classe, classes anonymes sont traités comme si leur nom était la concaténation du nom de leur classe englobante, un $, et un entier.
Le mot-clé public
indique qu'une méthode peut être appelée à partir de code dans d'autres classes, ou une classe peut être utilisé par les classes en dehors de la hiérarchie de classes. La hiérarchie de classe est liée à le nom du répertoire dans lequel le fichier .java est situé.
Le mot-clé static
devant une méthode indique une méthode statique, qui est associé uniquement à la classe et non pas avec toute instance spécifique de cette classe. Seules les méthodes statiques peuvent être invoquées sans référence à un objet. Les méthodes statiques ne peuvent pas accéder à tous les membres de la classe qui ne sont pas aussi statique.
Le mot-clé void
indique que la principale méthode ne retourne aucune valeur à l'appelant. Si un programme Java est de sortir avec un code d'erreur, il doit appeler System.exit () explicitement.
Le nom de la méthode " main
"ne est pas un mot-clé dans le langage Java. Il est tout simplement le nom de la méthode du lanceur Java appelle à passer le contrôle au programme. classes Java qui se exécutent dans des environnements gérés comme les applets et Enterprise JavaBean Ne pas utiliser ou besoin d'une main()
méthode. Un programme Java peut contenir plusieurs classes qui ont main
méthodes, ce qui signifie que la machine virtuelle doit être explicitement dit quelle classe pour lancer à partir.
La principale méthode doit accepter un tableau de String
objets. Par convention, il est référencé comme args
bien que tout autre nom légal de identifiant peut être utilisé. Depuis Java 5, la principale méthode peut également utiliser arguments variables, sous la forme de public static void main(String... args)
, permettant la méthode principale pour être invoquées avec un nombre arbitraire de String
arguments. L'effet de cette déclaration suppléant est sémantiquement identiques ( args
paramètre est toujours un ensemble de String
objets), mais il permet une syntaxe alternative pour la création et passant le tableau.
Le lanceur lance Java Java en chargeant une classe donnée (indiquée sur la ligne de commande ou comme un attribut dans une JAR) et à partir de son public static void main(String[])
méthode. Programmes autonomes doivent déclarer cette méthode explicitement. Le String[] args
paramètre est un tableau de String
objets contenant tous les arguments transmis à la classe. Les paramètres à main
sont souvent transmis au moyen d'un ligne de commande.
L'impression est partie d'une bibliothèque Java standard: Le System
classe définit un champ statique public appelé out
. Le out
objet est une instance de la PrintStream
classe et fournit de nombreuses méthodes pour l'impression de données la sortie standard, y compris println(String)
qui ajoute aussi une nouvelle ligne à la chaîne passée.
La chaîne "Bonjour tout le monde!" est automatiquement converti en un objet String par le compilateur.
Un exemple plus complet
// OddEven.java javax.swing.JOptionPane importation; public class OddEven { / ** * "Entrée" est le nombre que l'utilisateur donne à l'ordinateur * / entrée privée int; // un nombre entier ("int" signifie entier) / ** * Ce est la méthode constructeur. Il est appelé quand un objet du type OddEven * Est en cours de création. * / OddEven publique () { / * * Dans la plupart des programmes Java constructeurs peuvent initialiser des objets avec des valeurs par défaut, ou créer * autres objets que cet objet pourrait utiliser pour se acquitter de ses fonctions. Dans certains programmes Java, le * Constructeur peut être simplement une fonction vide si rien ne doit être initialisé avant la * Fonctionnement de l'objet. Dans le cas de ce programme, un constructeur vide suffirait. * Un constructeur doit exister; Toutefois, si l'utilisateur ne met pas en une puis le compilateur * Créera un vide. * / } / ** * Ce est la méthode principale. Il est appelé lorsque cette classe est dirigée par un interpréteur Java. * Arguments de ligne de commandeparam args (utilisé) * / public static void main (String finale [] args) { / * * Cette ligne de code crée une nouvelle instance de cette classe appelée "nombre" (aussi connu comme un * Object) et l'initialise en appelant le constructeur. La ligne suivante d'appels de code * Le "showDialog ()" méthode, qui fait apparaître une invite à vous demander un certain nombre * / Numéro OddEven = new OddEven (); . Numéro showDialog (); } public void showDialog () { / * * "Essayer" fait que rien ne va mal. Si quelque chose est le cas, * L'interprète passe à "attraper" pour voir ce qu'il doit faire. * / try { / * * Le code ci-dessous fait apparaître une JOptionPane, qui est une boîte de dialogue * La chaîne retournée par le "showInputDialog ()" méthode est converti en * Un entier, rendant le programme traiter comme un nombre au lieu d'un mot. * Après cela, cette méthode appelle une deuxième méthode, calculer () qui sera * Afficher "Même" ou "Odd." * / .. cette entrée = Entier parseInt (. JOptionPane showInputDialog ("Se il vous plaît entrez un numéro.")); ce calcul (). } Catch (finale NumberFormatException e) { / * * Monter le bloc catch signifie qu'il y avait un problème avec le format de * Le nombre. Probablement quelques lettres ont été saisis à la place d'un nombre. * / . Système tromper println ("ERROR: entrée non valide Se il vous plaît saisir une valeur numérique..");. } } / ** * Lorsque ce est appelée, il envoie un message à l'interprète. * L'interprète montre généralement sur l'invite de commande (Pour les utilisateurs de Windows) * Ou le terminal (pour les utilisateurs * nix). (En supposant que ce est ouvert) * / private void calculer () { if ((cette entrée. 2%) == 0) { JOptionPane showMessageDialog (null, "Même."); } Else { . JOptionPane showMessageDialog (null, "Odd"); } } }
- Le instruction import importe le
JOptionPane
classe à partir dujavax.swing
package. - Le
OddEven
classe déclare une seuleprivé
champ de typeint
nomméinput
. Chaque instance de laOddEven
classe a sa propre copie de l'input
domaine. La déclaration privé signifie qu'aucun autre classe peut accéder (lecture ou écriture) l'input
domaine. -
OddEven()
est unpublic
constructeur. Constructeurs avoir le même nom que la classe englobante ils sont déclarés dans, et contrairement à une méthode, ne ont pas le type de retour. Un constructeur est utilisé pour initialiser un objet qui est une instance nouvellement créée de la classe. - Le
calculate()
méthode est déclarée sansstatic
mot-clé. Cela signifie que la méthode est appelée au moyen d'un exemple spécifique de laOddEven
classe. (La référence utilisé pour invoquer la méthode est passé comme un paramètre non déclarée de TypeOddEven
nomméthis
). La méthode teste l'expressioninput % 2 == 0
utilisant leif
mot-clé pour voir si le reste de la division l'input
champ appartenant à l'instance de la classe par deux est zéro. Si cette expression est vraie, alors elle imprime Même; si cette expression est fausse, il imprime Odd. (L'input
champ peut être équivalente accessible commethis.input
, qui utilise explicitement le non déclaréthis
paramètre.) -
OddEven number = new OddEven();
déclare un objet local variable de référence dans lamain
méthode nomméenumber
. Cette variable peut contenir une référence à un objet de typeOddEven
. La déclaration initialisenumber
en créant d'abord une instance de laOddEven
classe, en utilisant lenew
mot-clé et l'OddEven()
constructeur, puis en attribuant cette instance à la variable. - La déclaration
number.showDialog();
appelle la méthode de calcul. L'instance deOddEven
objet référencé par lenumber
variable locale est utilisée pour invoquer la méthode et passé comme non déclaréthis
paramètre à lacalculate
méthode. -
input = Integer.parseInt(JOptionPane.showInputDialog("Please Enter A Number"));
est une déclaration qui convertit le type de String à la primitive type de données int en utilisant une fonction d'utilité dans le primitive Entier de classe wrapper.
Des classes spéciales
Applet
Les applets Java sont des programmes qui sont incorporés dans d'autres applications, typiquement dans une page Web affichée dans un navigateur Web.
// Hello.java javax.swing.JApplet importation; java.awt.Graphics d'importation; public class Bonjour extends JApplet { paintComponent public void (Graphics finale g) { g de drawString ("Bonjour, du monde!", 65, 95).; } }
Les import
déclarations dirigent le compilateur Java pour inclure le javax.swing.JApplet
et java.awt.Graphics
classes dans la compilation. L'instruction import permet ces classes pour être référencés dans le code source en utilisant le nom de classe simple (c.-à - JApplet
) au lieu du nom complet de la classe (ce est à dire javax.swing.JApplet
).
Le Hello
classe extends
( sous-classes) l' JApplet
(Applet Java) classe; l' JApplet
classe fournit le cadre pour l'application hôte pour afficher et contrôler la cycle de vie de l'applet. Le JApplet
classe est un JComponent (composant graphique Java) qui fournit l'applet avec la capacité d'afficher une l'interface utilisateur graphique (GUI) et de répondre à l'utilisateur événements.
Le Hello
classe remplace la paintComponent(Graphics)
méthode (en outre indiqué à la annotation, soutenu dans le JDK 1.5, Override
) héritée de la Récipient
superclasse pour fournir le code pour afficher l'applet. Le paintComponent()
méthode est adopté une Graphics
objet qui contient le contexte graphique utilisé pour afficher l'applet. Le paintComponent()
méthode appelle le contexte graphique drawString(String, int, int)
méthode pour afficher le "Bonjour, monde!" chaîne à une pixel décalage de ( 65, 95
) à partir du coin supérieur gauche de l'écran de l'applet.
"Http://www.w3.org/TR/html4/strict.dtd"> <Html> <Head> <Title> Bonjour tout le monde applet </ title> </ Head> <Body> <Applet code = largeur "Hello.class" = "200" height = "200"> </ Applet> </ Body> </ Html>
Un applet est placé dans un Le document HTML en utilisant le