Académique Documents
Professionnel Documents
Culture Documents
: Initiation
• Java Tutorials : https://docs.oracle.com/javase/tutorial/
• Type primitifs : int, short, byte, long, char, float, double, boolean
• Variable : portée (local, globale)
• Constante: (en majuscule), mot clé final
• Lectures/Ecriture: System.out.println()
• Structures conditionnelles: if else, assert , switch… case… break…. default,
• Structures Itératives :
o for, do..while, while, break, continue
o Accès lecture seulement, accès lecture et écriture
• Type évolués :
o String,
o Tableau statique 1D, 2D
o Type enveloppeur (Wrapper) : Integer, Double, Boolean
o Tableau dynamique (ArrayList) 1D, 2D,
• Méthodes
o Surcharge, retourne (void, type primitive, type évolué)
o Paramètres primitives (passage par valeur), évolués (passage par
adresse) (En TP)
• TP
o Résolution de l’Equation ax²+bx+c
o Jeu Puissance 4
Lecture 2 : Encapsulation/Abstraction
• Exemple : création d’une première classe (classe main) (mot clé class)
• Package : notion de package (mot clé package)
• Classe : instanciation, notion d’objet et d’instance (mot clé new)
• Attributs
o Initialisation par défaut des attributs (0, 0.0, false, null)
o Accès : modificateurs public et private
• Méthodes :
o Accès : modificateur public et private
o Test d’une méthode non public appelée dans un autre package (En
TP)
o Getters et setters public
• L’opérateur this pour l’accès aux attributs
• Différences entre attribut, paramètre de méthode et variable locale
• Constructeur
o Définition : méthode public qui a le même nom de la classe et qui n’a
pas de type de retour (En TP)
o Constructeur par défaut par défaut
o Constructeur sans paramètre remplace le constructeur par défaut par
défaut
o Constructeur avec paramètre annule la présence du constructeur par
défaut par défaut
o Le constructeur this()
o Constructeur de copie
• Relations entre classes:
o Association, et Composition (relation “à un” = “client/serveur”),
o Heritage (relation “est un”) voir plus tard.
Client Serveur
Association/ public class Cercle { public class Point { ... }
Aggregation private Point centre; .
…
}
Composition public class Cercle { public class Point { ... }
private Point centre;
Cercle {
centre = new Point(…)
}
}
o Une classe qui contient une méthode abstract doit absolument être
abstract
o Une classe abstract ne peut être instanciée tant qu’elle n’a pas
implémentée toutes ses méthodes abstract.
• Méthode static
• Une interface
• Une classe implements une ou plusieurs interfaces. Elle doit dans ce cas
implémenter toutes les méthodes de ces interfaces ainsi que leurs
interfaces mères.
• Une hiérarchie d’interface donc est possible : une interface peut étendre
une autre interface comme le font les classes entre elles avec extends
• Faire une classe C qui implémente deux interfaces A et B. Que se passe t-il
si les deux interfaces A et B déclarent une même méthode f()? Une même
constante x? Indication: pour le savoir, créer une classe Test qui utilise f() et
x. Pourquoi ne peut-on utiliser x? (réponse: La définition de x est dans les
interfaces. Non celle de f().)
• (année prochaine)
Lecture 6 : Exceptions
• Hiérarchie de Throwable. (https://docs.oracle.com/javase/7/docs/api/
java/lang/Throwable.html)
• 3 types d’exceptions
• Exemples de Error
• Exemple de Exception
• Le block finally est utilisé pour récupérer les resource (ex: fermé un stream)
• Pour générer une exception, il suffit d'utiliser le mot clé throw, suivi d'un
objet dont la classe hérite de Throwable.
• Si l'on veut générer un objet exception dans une méthode avec throw, il faut
indiquer son type dans la déclaration de la méthode, en utilisant le mot clé
throws. (pas obligatoire pour unchecked exceptions)
• Checked Exceptions :
o extends Exception
• Unchecked :
o La méthode qui la lance peut ne pas être dans un bloc try… catch
https://stackoverflow.com/questions/10115282/new-strange-java-try-syntax?
utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
https://docs.oracle.com/javase/tutorial/essential/exceptions/
tryResourceClose.html
!
Lecture 7 : Généricité (java generics)
• La généricité permet la construction des classes qui n'acceptent qu'un
certain type d'objets ou de données de façon dynamique.
o ArrayList<?>
o Conception : .fxml :
o Style : .css
▪ scene.getStylesheets().add(getClass().getResource(‘path’)
o Algorithme : .java
Lecture 14: Nested classes
• Anonymous classes
• Lambda expression
Annexe : Java Keywords
abstract continue for new switch