JAVA Support Part 1
JAVA Support Part 1
Applications Java
La dernière version de Java Standard Edition est Java SE 18. Avec l'avancement de Java et sa
popularité généralisée, plusieurs configurations ont été conçues pour s'adapter à différents
types de plates-formes. Par exemple : J2EE pour les applications d'entreprise, J2ME pour les
applications mobiles.
Les nouvelles versions J2 ont été renommées respectivement Java SE, Java EE et Java ME.
Java est garanti pour être Write Once, Run Anywhere.
Java - Présentation
Le langage de programmation Java a été initialement développé par Sun Microsystems, initié
par James Gosling et publié en 1995 en tant que composant central de la plate-forme Java de
Sun Microsystems (Java 1.0 [J2SE]).
La dernière version de Java Standard Edition est Java SE 8. Avec l'avancement de Java et sa
popularité généralisée, plusieurs configurations ont été conçues pour s'adapter à différents
types de plates-formes. Par exemple : J2EE pour les applications d'entreprise, J2ME pour les
applications mobiles.
Les nouvelles versions J2 ont été renommées respectivement Java SE, Java EE et Java ME.
Java est garanti pour être Write Once, Run Anywhere.
Java est -
• Orienté objet - En Java, tout est un objet. Java peut être facilement étendu car il est
basé sur le modèle Objet.
• Indépendant de la plate-forme - Contrairement à de nombreux autres langages de
programmation, notamment C et C ++, lorsque Java est compilé, il n'est pas compilé
dans une machine spécifique à la plate-forme, mais plutôt dans un code binaire
indépendant de la plate-forme. Ce code binaire est distribué sur le Web et interprété
par la machine virtuelle (JVM) sur la plate-forme sur laquelle il est exécuté.
• Simple − Java est conçu pour être facile à apprendre. Si vous comprenez le concept de
base de OOP Java, il serait facile à maîtriser.
• Sécurisé − Avec la fonction sécurisée de Java, il permet de développer des systèmes
sans virus et inviolables. Les techniques d'authentification sont basées sur le
chiffrement à clé publique.
• Architecture neutre - Le compilateur Java génère un format de fichier objet
indépendant de l'architecture, ce qui rend le code compilé exécutable sur de nombreux
processeurs, avec la présence du système d'exécution Java.
• Portable - Le fait d'être indépendant de l'architecture et de ne pas avoir d'aspects
dépendant de l'implémentation de la spécification rend Java portable. Le compilateur
en Java est écrit en ANSI C avec une limite de portabilité propre, qui est un sous-
ensemble POSIX.
• Robuste - Java s'efforce d'éliminer les situations sujettes aux erreurs en mettant
principalement l'accent sur la vérification des erreurs de compilation et la vérification
de l'exécution.
• Multithread - Avec la fonction multithread de Java, il est possible d'écrire des
programmes capables d'effectuer plusieurs tâches simultanément. Cette fonctionnalité
de conception permet aux développeurs de créer des applications interactives qui
peuvent fonctionner sans problème.
• Interprété - Le code binaire Java est traduit à la volée en instructions machine natives
et n'est stocké nulle part. Le processus de développement est plus rapide et analytique
car la mise en relation est un processus incrémental et léger.
• Hautes performances − Avec l'utilisation de compilateurs Just-In-Time, Java permet
des performances élevées.
• Distribué - Java est conçu pour l'environnement distribué d'Internet.
• Dynamique - Java est considéré comme plus dynamique que C ou C++ car il est
conçu pour s'adapter à un environnement en évolution. Les programmes Java peuvent
contenir une grande quantité d'informations d'exécution qui peuvent être utilisées pour
vérifier et résoudre les accès aux objets lors de l'exécution.
Hello World en utilisant la programmation Java.
Juste pour vous donner un peu d'enthousiasme pour la programmation Java, je vais vous
donner un petit programme Hello World de programmation C conventionnel, vous pouvez
l'essayer en utilisant le lien Demo.
Démo en direct
public class MyFirstJavaProgram {
Histoire de Java
James Gosling a lancé un projet de langage Java en juin 1991 pour une utilisation dans l'un de
ses nombreux projets de décodeurs. La langue, initialement appelée «Oak» d'après un chêne
qui se trouvait à l'extérieur du bureau de Gosling, s'appelait également «Green» et a fini par
être renommée Java, à partir d'une liste de mots aléatoires.
Sun a publié la première implémentation publique sous le nom de Java 1.0 en 1995. Il
promettait Write Once, Run Anywhere (WORA), fournissant des temps d'exécution gratuits
sur les plates-formes populaires.
Le 13 novembre 2006, Sun a publié une grande partie de Java en tant que logiciel libre et
open source selon les termes de la licence publique générale GNU (GPL).
Le 8 mai 2007, Sun a terminé le processus, rendant tout le code de base de Java gratuit et
open source, à l'exception d'une petite partie du code dont Sun ne détenait pas les droits
d'auteur.
Java SE est disponible gratuitement à partir du lien Télécharger Java . Vous pouvez
télécharger une version basée sur votre système d'exploitation.
Suivez les instructions pour télécharger Java et exécutez le .exe pour installer Java sur votre
machine. Une fois que vous avez installé Java sur votre machine, vous devrez définir des
variables d'environnement pour pointer vers les répertoires d'installation corrects -
En supposant que vous avez installé Java dans le répertoire c:\Program Files\java\jdk −
La variable d'environnement PATH doit être définie pour pointer vers l'endroit où les binaires
Java ont été installés. Reportez-vous à la documentation de votre shell, si vous avez des
difficultés à le faire.
Par exemple, si vous utilisez bash comme shell, vous ajouterez la ligne suivante à la fin de
votre '.bashrc : export PATH = /path/to/java:$PATH'
• Netbeans - Un IDE Java open-source et gratuit qui peut être téléchargé à partir de
https://www.netbeans.org/index.html .
• Eclipse - Un IDE Java développé par la communauté open-source eclipse et peut être
téléchargé à partir de https://www.eclipse.org/ .
Syntaxe de base
Lorsque nous considérons un programme Java, il peut être défini comme une collection
d'objets qui communiquent en invoquant les méthodes de l'autre. Voyons maintenant
brièvement ce que signifient les variables de classe, d'objet, de méthode et d'instance.
• Objet - Les objets ont des états et des comportements. Exemple : Un chien a des états
- couleur, nom, race ainsi que des comportements tels que remuer la queue, aboyer,
manger. Un objet est une instance d'une classe.
• Classe - Une classe peut être définie comme un modèle/plan directeur qui décrit le
comportement/l'état que l'objet de son type prend en charge.
• Méthodes - Une méthode est essentiellement un comportement. Une classe peut
contenir plusieurs méthodes. C'est dans les méthodes où les logiques sont écrites, les
données sont manipulées et toutes les actions sont exécutées.
• Variables d'instance - Chaque objet a son ensemble unique de variables d'instance.
L'état d'un objet est créé par les valeurs affectées à ces variables d'instance.
Exemple
Démo en direct
Syntaxe de base
À propos des programmes Java, il est très important de garder à l'esprit les points suivants.
• Sensibilité à la casse - Java est sensible à la casse, ce qui signifie que l'identifiant
Hello et hello auraient une signification différente en Java.
• Noms de classe − Pour tous les noms de classe, la première lettre doit être en
majuscule. Si plusieurs mots sont utilisés pour former un nom de classe, la première
lettre de chaque mot intérieur doit être en majuscule.
• Noms de méthode - Tous les noms de méthode doivent commencer par une lettre
minuscule. Si plusieurs mots sont utilisés pour former le nom de la méthode, la
première lettre de chaque mot intérieur doit être en majuscule.
Exemple : public void myMethodName()
Mais veuillez noter que si vous n'avez pas de classe publique présente dans le fichier,
le nom du fichier peut être différent du nom de la classe. Il n'est pas non plus
obligatoire d'avoir une classe publique dans le fichier.
Types de données
Les variables ne sont rien d'autre que des emplacements de mémoire réservés pour stocker des
valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace dans la
mémoire.
Byte
Short
Int
long
float
• Le type de données flottant est une virgule flottante IEEE 754 32 bits simple précision
• Float est principalement utilisé pour économiser de la mémoire dans de grands
tableaux de nombres à virgule flottante
• La valeur par défaut est 0.0f
• Le type de données flottant n'est jamais utilisé pour des valeurs précises telles que la
devise
• Exemple : float f1 = 234.5f
double
• le type de données double est une virgule flottante IEEE 754 64 bits double précision
• Ce type de données est généralement utilisé comme type de données par défaut pour
les valeurs décimales, généralement le choix par défaut
• Le type de données double ne doit jamais être utilisé pour des valeurs précises telles
que la devise
• La valeur par défaut est 0.0d
• Exemple : double d1 = 123,4
boolean
char
Littéraux Java
Un littéral est une représentation dans le code source d'une valeur fixe. Ils sont représentés
directement dans le code sans aucun calcul.
Les littéraux peuvent être affectés à n'importe quelle variable de type primitif. Par exemple -
byte a = 68;
char a = 'A';
byte, int, long et short peuvent également être exprimés dans les systèmes de nombre décimal
(base 10), hexadécimal (base 16) ou octal (base 8).
Le préfixe 0 est utilisé pour indiquer l'octal et le préfixe 0x indique l'hexadécimal lors de
l'utilisation de ces systèmes de numération pour les littéraux. Par exemple -
int decimal = 100;
int octal = 0144;
int hexa = 0x64;
Les littéraux de chaîne en Java sont spécifiés comme ils le sont dans la plupart des autres
langages en entourant une séquence de caractères entre une paire de guillemets doubles. Des
exemples de littéraux de chaîne sont -
Exemple
"Hello World"
"two\nlines"
"\"This is in quotes\""
Les types de littéraux chaîne et char peuvent contenir n'importe quel caractère Unicode. Par
exemple -
char a = '\u0001';
String a = "\u0001";
Le langage Java prend également en charge quelques séquences d'échappement spéciales pour
les littéraux String et char. Ils sont −
\s Espace (0x20)
\t languette
Vous devez déclarer toutes les variables avant de pouvoir les utiliser. Voici la forme de base
d'une déclaration de variable -
Ici, le type de données est l'un des types de données de Java et la variable est le nom de la
variable. Pour déclarer plusieurs variables du type spécifié, vous pouvez utiliser une liste
séparée par des virgules.
Exemple
int a, b, c; // Declares three ints, a, b, and c.
int a = 10, b = 10; // Example of initialization
byte B = 22; // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a'; // the char variable a iis initialized with value 'a'
Ce chapitre explique les différents types de variables disponibles dans le langage Java. Il
existe trois types de variables en Java -
• Variables locales
• Variables d'instance
• Variables de classe/statiques
Variables locales
• Les variables locales sont déclarées dans des méthodes, des constructeurs ou des
blocs.
• Les variables locales sont créées lorsque la méthode, le constructeur ou le bloc est
entré et la variable sera détruite une fois qu'elle quitte la méthode, le constructeur ou le
bloc.
• Les modificateurs d'accès ne peuvent pas être utilisés pour les variables locales.
• Les variables locales ne sont visibles que dans la méthode, le constructeur ou le bloc
déclaré.
• Les variables locales sont implémentées au niveau de la pile en interne.
• Il n'y a pas de valeur par défaut pour les variables locales, donc les variables locales
doivent être déclarées et une valeur initiale doit être assignée avant la première
utilisation.
Exemple
Ici, l'âge est une variable locale. Ceci est défini dans la méthode pupAge() et sa portée est
limitée à cette seule méthode.
Sortie
Puppy age is: 7
Exemple
L'exemple suivant utilise l'âge sans l'initialiser, il donnerait donc une erreur au moment de la
compilation.
Sortie
Test.java:4:variable number might not have been initialized
age = age + 7;
^
1 error
Variables d'instance
• Les variables d'instance sont déclarées dans une classe, mais en dehors d'une méthode,
d'un constructeur ou de tout bloc.
• Lorsqu'un espace est alloué à un objet dans le tas, un emplacement pour chaque valeur
de variable d'instance est créé.
• Les variables d'instance sont créées lorsqu'un objet est créé avec l'utilisation du mot
clé 'new' et détruites lorsque l'objet est détruit.
• Les variables d'instance contiennent des valeurs qui doivent être référencées par
plusieurs méthodes, constructeurs ou blocs, ou des parties essentielles de l'état d'un
objet qui doivent être présentes dans toute la classe.
• Les variables d'instance peuvent être déclarées au niveau de la classe avant ou après
utilisation.
• Des modificateurs d'accès peuvent être donnés pour les variables d'instance.
• Les variables d'instance sont visibles pour toutes les méthodes, constructeurs et blocs
de la classe. Normalement, il est recommandé de rendre ces variables privées (niveau
d'accès). Cependant, la visibilité des sous-classes peut être donnée pour ces variables à
l'aide de modificateurs d'accès.
• Les variables d'instance ont des valeurs par défaut. Pour les nombres, la valeur par
défaut est 0, pour les booléens, elle est fausse et pour les références d'objet, elle est
nulle. Les valeurs peuvent être affectées lors de la déclaration ou dans le constructeur.
• Les variables d'instance sont accessibles directement en appelant le nom de la variable
à l'intérieur de la classe. Cependant, dans les méthodes statiques (lorsque les variables
d'instance sont accessibles), elles doivent être appelées en utilisant le nom complet.
ObjectReference.VariableName .
Exemple
import java.io.*;
public class Employee {
Variables de classe/statiques
• Les variables de classe également appelées variables statiques sont déclarées avec le
mot-clé static dans une classe, mais en dehors d'une méthode, d'un constructeur ou
d'un bloc.
• Il n'y aurait qu'une seule copie de chaque variable de classe par classe, quel que soit le
nombre d'objets créés à partir de celle-ci.
• Les variables statiques sont rarement utilisées autrement qu'en tant que constantes. Les
constantes sont des variables déclarées publiques/privées, finales et statiques. Les
variables constantes ne changent jamais de leur valeur initiale.
• Les variables statiques sont stockées dans la mémoire statique. Il est rare d'utiliser des
variables statiques autres que déclarées finales et utilisées comme constantes
publiques ou privées.
• Les variables statiques sont créées au démarrage du programme et détruites à l'arrêt du
programme.
• La visibilité est similaire aux variables d'instance. Cependant, la plupart des variables
statiques sont déclarées publiques car elles doivent être disponibles pour les
utilisateurs de la classe.
• Les valeurs par défaut sont identiques à celles des variables d'instance. Pour les
nombres, la valeur par défaut est 0 ; pour les booléens, c'est faux ; et pour les
références d'objet, il est nul. Les valeurs peuvent être affectées lors de la déclaration
ou dans le constructeur. De plus, des valeurs peuvent être affectées dans des blocs
d'initialisation statiques spéciaux.
• Les variables statiques sont accessibles en appelant avec le nom de classe
ClassName.VariableName .
• Lors de la déclaration de variables de classe comme public static final, les noms de
variables (constantes) sont tous en majuscules. Si les variables statiques ne sont pas
publiques et finales, la syntaxe de dénomination est la même que celle des variables
d'instance et locales.
Exemple
import java.io.*;
public class Employee {
// DEPARTMENT is a constant
public static final String DEPARTMENT = "Development ";
Remarque − Si les variables sont accessibles à partir d'une classe extérieure, la constante doit
être accessible en tant que Employee.DEPARTMENT
Boucle
For, While, Do … while
Condition
If, if … else, switch
Tableau
Pour utiliser un tableau dans un programme, vous devez déclarer une variable pour référencer
le tableau et vous devez spécifier le type de tableau auquel la variable peut faire référence.
Voici la syntaxe pour déclarer une variable tableau -
Syntaxe
dataType[] arrayRefVar; // preferred way.
or
dataType arrayRefVar[]; // works but not preferred way.
Exemple
Création de tableaux
Vous pouvez créer un tableau en utilisant le nouvel opérateur avec la syntaxe suivante -
Syntaxe
arrayRefVar = new dataType[arraySize];
Les éléments du tableau sont accessibles via l' index . Les indices de tableau sont basés sur 0 ;
c'est-à-dire qu'ils commencent de 0 à arrayRefVar.length-1 .
Exemple
L'instruction suivante déclare une variable de tableau, myList, crée un tableau de 10 éléments
de type double et attribue sa référence à myList -
Tableaux de traitement
Lors du traitement des éléments d'un tableau, nous utilisons souvent une boucle for ou
foreach car tous les éléments d'un tableau sont du même type et la taille du tableau est
connue.
Exemple
Voici un exemple complet montrant comment créer, initialiser et traiter des tableaux -
Sortie
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
Exemple
Sortie
1.9
2.9
3.4
3.5
Exemple
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
Vous pouvez l'invoquer en passant un tableau. Par exemple, l'instruction suivante appelle la
méthode printArray pour afficher 3, 1, 2, 6, 4 et 2 -
Exemple
printArray(new int[]{3, 1, 2, 6, 4, 2});
Méthodes
Une méthode Java est une collection d'instructions qui sont regroupées pour effectuer une
opération. Lorsque vous appelez le System.out. println() , par exemple, le système exécute en
fait plusieurs instructions afin d'afficher un message sur la console.
Vous allez maintenant apprendre à créer vos propres méthodes avec ou sans valeurs de retour,
à invoquer une méthode avec ou sans paramètres et à appliquer l'abstraction de méthode dans
la conception du programme.
Méthode de création
Considérant l'exemple suivant pour expliquer la syntaxe d'une méthode -
Syntaxe
Ici,
Syntaxe
Exemple
Voici le code source de la méthode définie ci-dessus appelée min() . Cette méthode prend
deux paramètres num1 et num2 et renvoie le maximum entre les deux -
return min;
}
Appel de méthode
Pour utiliser une méthode, il faut l'appeler. Il existe deux manières d'appeler une méthode,
c'est-à-dire que la méthode renvoie une valeur ou ne renvoie rien (pas de valeur de retour).
Le processus d'appel de méthode est simple. Lorsqu'un programme invoque une méthode, le
contrôle du programme est transféré à la méthode appelée. Cette méthode appelée rend
ensuite le contrôle à l'appelant dans deux conditions, lorsque -
Les méthodes renvoyant void sont considérées comme un appel à une instruction. Prenons un
exemple -
System.out.println("This is tutorialspoint.com!");
Voici l'exemple pour montrer comment définir une méthode et comment l'appeler -
Exemple
return min;
}
}
Sortie
Minimum value = 6
Le void
Le mot-clé void nous permet de créer des méthodes qui ne retournent pas de valeur. Ici, dans
l'exemple suivant, nous considérons une méthode void methodRankPoints . Cette méthode est
une méthode void, qui ne renvoie aucune valeur. L'appel à une méthode void doit être une
instruction, c'est-à-dire methodRankPoints(255.7); . Il s'agit d'une instruction Java qui se
termine par un point-virgule, comme illustré dans l'exemple suivant.
Exemple
Sortie
Rank:A1
Passer des paramètres par valeur
Tout en travaillant sous le processus d'appel, les arguments doivent être passés. Ceux-ci
doivent être dans le même ordre que leurs paramètres respectifs dans la spécification de la
méthode. Les paramètres peuvent être passés par valeur ou par référence.
Passer des paramètres par valeur signifie appeler une méthode avec un paramètre. Grâce à
cela, la valeur de l'argument est transmise au paramètre.
Exemple
Le programme suivant montre un exemple de passage de paramètre par valeur. Les valeurs
des arguments restent les mêmes même après l'invocation de la méthode.
// Swap n1 with n2
int c = a;
a = b;
b = c;
System.out.println("After swapping(Inside), a = " + a + " b = " + b);
}
}
Sortie
Surcharge de méthode
Lorsqu'une classe a deux méthodes ou plus portant le même nom mais des paramètres
différents, on parle de surcharge de méthode. C'est différent de l'écrasement. En surcharge,
une méthode a le même nom de méthode, le même type, le même nombre de paramètres, etc.
Considérons l'exemple discuté précédemment pour trouver des nombres minimaux de type
entier. Si, disons que nous voulons trouver le nombre minimum de type double. Ensuite, le
concept de surcharge sera introduit pour créer deux ou plusieurs méthodes avec le même nom
mais des paramètres différents.
Exemple
// for integer
public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
// for double
public static double minFunction(double n1, double n2) {
double min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
}
Sortie
Minimum Value = 6
Minimum Value = 7.3
La surcharge des méthodes rend le programme lisible. Ici, deux méthodes portent le même
nom mais avec des paramètres différents. Le nombre minimum de types entiers et doubles est
le résultat.
Objet et Classe
• Objet - Les objets ont des états et des comportements. Exemple : Un chien a des états
- couleur, nom, race ainsi que des comportements - remuer la queue, aboyer, manger.
Un objet est une instance d'une classe.
• Classe - Une classe peut être définie comme un modèle/plan directeur qui décrit le
comportement/l'état que l'objet de son type prend en charge.
Objets en Java
Examinons maintenant en profondeur ce que sont les objets. Si nous considérons le monde
réel, nous pouvons trouver de nombreux objets autour de nous, des voitures, des chiens, des
humains, etc. Tous ces objets ont un état et un comportement.
Si nous considérons un chien, alors son état est - nom, race, couleur, et le comportement est -
aboiement, remuant la queue, courant.
Si vous comparez l'objet logiciel avec un objet du monde réel, ils ont des caractéristiques très
similaires.
Les objets logiciels ont également un état et un comportement. L'état d'un objet logiciel est
stocké dans des champs et le comportement est affiché via des méthodes.
Ainsi, dans le développement logiciel, les méthodes fonctionnent sur l'état interne d'un objet
et la communication objet à objet se fait via des méthodes.
Cours en Java
Une classe est un plan à partir duquel des objets individuels sont créés.
Exemple
public class Dog {
String breed;
int age;
String color;
void barking() {
}
void hungry() {
}
void sleeping() {
}
}
Une classe peut contenir n'importe lequel des types de variables suivants.
• Variables locales - Les variables définies à l'intérieur des méthodes, des constructeurs
ou des blocs sont appelées variables locales. La variable sera déclarée et initialisée
dans la méthode et la variable sera détruite lorsque la méthode sera terminée.
• Variables d'instance - Les variables d'instance sont des variables au sein d'une classe
mais en dehors de toute méthode. Ces variables sont initialisées lors de l'instanciation
de la classe. Les variables d'instance sont accessibles depuis n'importe quelle méthode,
constructeur ou bloc de cette classe particulière.
• Variables de classe - Les variables de classe sont des variables déclarées dans une
classe, en dehors de toute méthode, avec le mot-clé static.
Une classe peut avoir n'importe quel nombre de méthodes pour accéder à la valeur de divers
types de méthodes. Dans l'exemple ci-dessus, aboyer(), faim() et dormir() sont des méthodes.
Voici quelques-uns des sujets importants qui doivent être abordés lors de l'examen des classes
du langage Java.
Constructeurs
Lors de la discussion sur les classes, l'un des sous-sujets les plus importants serait les
constructeurs. Chaque classe a un constructeur. Si nous n'écrivons pas explicitement un
constructeur pour une classe, le compilateur Java construit un constructeur par défaut pour
cette classe.
Chaque fois qu'un nouvel objet est créé, au moins un constructeur sera appelé. La règle
principale des constructeurs est qu'ils doivent avoir le même nom que la classe. Une classe
peut avoir plusieurs constructeurs.
Exemple
public class Puppy {
public Puppy() {
}
Java prend également en charge les classes Singleton où vous ne pourrez créer qu'une seule
instance d'une classe.
Remarque - Nous avons deux types de constructeurs différents. Nous allons discuter des
constructeurs en détail dans les chapitres suivants.
Exemple
public class Puppy {
public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}
Sortie
Passed Name is :tommy
Exemple
Cet exemple explique comment accéder aux variables d'instance et aux méthodes d'une classe.
Sortie
Name chosen is :tommy
Puppy's age is :2
Variable Value :2
Heritage
L'héritage peut être défini comme le processus par lequel une classe acquiert les propriétés
(méthodes et champs) d'une autre. Avec l'utilisation de l'héritage, les informations sont
rendues gérables dans un ordre hiérarchique.
La classe qui hérite des propriétés de other est appelée sous-classe (classe dérivée, classe
enfant) et la classe dont les propriétés sont héritées est appelée superclasse (classe de base,
classe parent).
le mot-clé EXTEND
extend est le mot clé utilisé pour hériter des propriétés d'une classe. Voici la syntaxe du mot
clé extend.
Syntaxe
class Super {
.....
.....
}
class Sub extends Super {
.....
.....
}
Exemple de code
Voici un exemple démontrant l'héritage Java. Dans cet exemple, vous pouvez observer deux
classes, à savoir Calculation et My_Calculation.
En utilisant le mot clé extend, My_Calculation hérite des méthodes addition() et Subtraction()
de la classe Calculation.
Exemple
Démo en direct
class Calculation {
int z;
javac My_Calculation.java
java My_Calculation
Dans le programme donné, lorsqu'un objet de la classe My_Calculation est créé, une copie
du contenu de la superclasse est faite à l'intérieur de celui-ci. C'est pourquoi, en utilisant
l'objet de la sous-classe, vous pouvez accéder aux membres d'une super-classe.
La variable de référence Superclass peut contenir l'objet de sous-classe, mais en utilisant cette
variable, vous ne pouvez accéder qu'aux membres de la superclasse, donc pour accéder aux
membres des deux classes, il est recommandé de toujours créer une variable de référence à la
sous-classe.
Si vous considérez le programme ci-dessus, vous pouvez instancier la classe comme indiqué
ci-dessous. Mais en utilisant la variable de référence de la superclasse ( cal dans ce cas), vous
ne pouvez pas appeler la méthode multiplication() , qui appartient à la sous-classe
My_Calculation.
Remarque − Une sous-classe hérite de tous les membres (champs, méthodes et classes
imbriquées) de sa superclasse. Les constructeurs ne sont pas des membres, ils ne sont donc
pas hérités par les sous-classes, mais le constructeur de la superclasse peut être appelé à partir
de la sous-classe.
• Il est utilisé pour différencier les membres de la superclasse des membres de la sous-
classe, s'ils ont les mêmes noms.
• Il est utilisé pour invoquer le constructeur de la superclasse à partir de la sous-classe.
Différencier les membres
Si une classe hérite des propriétés d'une autre classe. Et si les membres de la superclasse ont
les mêmes noms que la sous-classe, pour différencier ces variables, nous utilisons le mot-clé
super comme indiqué ci-dessous.
super.variable
super.method();
Exemple de code
Cette section vous propose un programme qui illustre l'utilisation du mot-clé super .
Dans le programme donné, vous avez deux classes à savoir Sub_class et Super_class , toutes
deux ont une méthode nommée display() avec différentes implémentations et une variable
nommée num avec des valeurs différentes. Nous invoquons la méthode display() des deux
classes et imprimons la valeur de la variable num des deux classes. Ici, vous pouvez observer
que nous avons utilisé le mot clé super pour différencier les membres de la superclasse de la
sous-classe.
Exemple
class Super_class {
int num = 20;
javac Super_Demo
java Super
Sortie
super(values);
Exemple de code
Le programme donné dans cette section montre comment utiliser le mot clé super pour
invoquer le constructeur paramétré de la superclasse. Ce programme contient une superclasse
et une sous-classe, où la superclasse contient un constructeur paramétré qui accepte une
valeur entière, et nous avons utilisé le mot clé super pour invoquer le constructeur paramétré
de la superclasse.
Exemple
Démo en direct
class Superclass {
int age;
Superclass(int age) {
this.age = age;
}
javac Subclass
java Subclass
Sortie
Envoi mail
Envoyer un e-mail à l'aide de votre application Java est assez simple, mais pour commencer,
vous devez avoir JavaMail API et Java Activation Framework (JAF) installés sur votre
machine.
• Vous pouvez télécharger la dernière version de JavaMail (Version 1.2) à partir du site
Web standard de Java.
• Vous pouvez télécharger la dernière version de JAF (Version 1.1.1) à partir du site
Web standard de Java.
Exemple
// File Name SendEmail.java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
try {
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
Sortie
$ java SendEmail
Sent message successfully....
Si vous souhaitez envoyer un e-mail à plusieurs destinataires, les méthodes suivantes seront
utilisées pour spécifier plusieurs identifiants d'e-mail -
void addRecipients(Message.RecipientType type, Address[] addresses)
throws MessagingException
• type − This would be set to TO, CC or BCC. Here CC represents Carbon Copy and
BCC represents Black Carbon Copy. Example: Message.RecipientType.TO
• addresses − This is an array of e-mail ID. You would need to use InternetAddress()
method while specifying email IDs.
Exemple
// File Name SendFileEmail.java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
try {
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
Sortie
$ java SendFileEmail
Sent message successfully....
props.setProperty("mail.user", "myuser");
props.setProperty("mail.password", "mypwd");