Mise à niveau en Java
Cours 3
Stéphane Airiau
Université Paris-Dauphine
Cours 3– (Stéphane Airiau) Java 1
Liste chainée
1public class Noeud {
2String valeur;
3Noeud suivant;
4
5public Noeud(String val){
6valeur = val;
7}
8
9public void setSuivant(Noeud next){
10 suivant = next;
11 }
12 }
1public class ListChainee {
2Noeud premier;
3
4public ListeChainee(){
5premier = null;
6}
7
8public void add(String val){
9Noeud nouveau = new Noeud(val);
10 if (premier == null)
11 premier = nouveau;
12 else {
13 Noeud dernier = premier;
14 while(dernier.suivant != null)
15 dernier = dernier.suivant;
16 dernier.suivant = nouveau;
17 }
18 }
19 }
Cours 3– (Stéphane Airiau) Java 2
exemple {”Astérix”,”Obélix”,”Panoramix”},
ListeChainee
premier
Nœud
valeur=”Astérix”
suivant
Nœud
valeur=”Obélix”
suivant
Nœud
valeur=”Panoramix”
suivant=null
Cours 3– (Stéphane Airiau) Java 3
Classes Internes
Il est possible de définir une classe à l’intérieur d’une classe !
ëde telles classes peuvent simplifier le développement
classe interne d’instance
cette classe va donc accéder à tous les champs de sa classe (même les
privés)
on ne peut créer une instance d’une classe interne que depuis une
méthode d’instance de sa classe « englobante »
classe interne statique
pas de référence à des membres d’instance de sa classe « englobante »
on peut instancier cette classe (elle est static vis à vis de sa classe
englobante.
Cours 3– (Stéphane Airiau) Java 4
Exemples
Classe interne static Classe interne non static
1public class Externe {
2int nbEtudiants;
3public static class Interne {
4public int nbEtudiantsMax=25;
5}
6}
1public class Externe {
2int nbEtudiants;
3public class Interne {
4public int nbEtudiantsMax=25;
5}
6}
1Externe a = new Externe();
2Externe.Interne b=
3new Externe.Interne();
1Externe a = new Externe();
2Externe.Interne b=
3a.new Interne();
Cours 3– (Stéphane Airiau) Java 5
1 / 23 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !