Fondamentaux du développement

Java moderne : apprendre la programmation objet

Apprendre Java moderne : classes, héritage, interfaces, collections, exceptions, fichiers et concurrence.

Demander ce programme
Durée
35 h · 5 jours
Niveau
Intermédiaire
Format
Présentiel · Distanciel · Mixte
Effectif max.
12 participants

Présentation

Ce programme apprend à programmer en Java moderne. Les participants construisent leurs premières classes, maîtrisent héritage, polymorphisme et interfaces, découvrent les apports récents du langage (records, classes scellées, filtrage par motif), utilisent collections, expressions lambda et exceptions, puis abordent entrées/sorties et concurrence. Chaque notion est mise en œuvre sur une application fil rouge.

À qui s’adresse ce programme

  • Développeurs qui passent à Java
  • Étudiants et reconversions
  • Équipes qui préparent une montée en compétence vers Spring ou Jakarta EE

Prérequis

  • Notions de programmation objet
  • Avoir déjà développé dans un langage

Objectifs pédagogiques

  • Utiliser Java comme langage objet
  • Structurer son code en classes, packages et records
  • Appliquer héritage, polymorphisme, interfaces et classes scellées
  • Manipuler collections, énumérations et lambdas
  • Gérer les exceptions
  • Lire et écrire des fichiers
  • Comprendre threads et concurrence

Programme détaillé

10 modules · 35 h · 5 jours

Jour 1
Écosystème Java et premiers pas3,5 h
50 % théorie · 50 % pratique
  • Plateforme, versions et distributions
  • Compiler, exécuter, packager
  • Syntaxe de base
  • Types, opérateurs et structures de contrôle
  • IDE et débogage
Classes et objets3,5 h🛠 1 atelier
30 % théorie · 70 % pratique
  • Classes, attributs et méthodes
  • Constructeurs et packages
  • Encapsulation
  • Records
  • Méthodes statiques et immuabilité
🛠 Ateliers pratiques
Modélisation du fil rouge1,5 h

Modéliser les premières classes de l’application.

✅ Livrable : Un premier modèle objet
Jour 2
Héritage et polymorphisme3,5 h
50 % théorie · 50 % pratique
  • Héritage et redéfinition
  • Classes abstraites
  • Interfaces et méthodes par défaut
  • Polymorphisme
  • Classes scellées
Conception et bonnes pratiques3,5 h🛠 1 atelier
30 % théorie · 70 % pratique
  • Composition ou héritage
  • Principes SOLID appliqués
  • Gestion des dépendances
  • Tests unitaires avec JUnit
  • Conventions de code
🛠 Ateliers pratiques
Refactorisation guidée1,5 h

Améliorer la structure du fil rouge.

✅ Livrable : Un code remanié et testé
Jour 3
Collections, énumérations et lambdas3,5 h
50 % théorie · 50 % pratique
  • Listes, ensembles, tables associatives
  • Énumérations
  • Classes internes et anonymes
  • Expressions lambda et interfaces fonctionnelles
  • Introduction aux flux (Streams)
Tableaux, génériques et filtrage par motif3,5 h🛠 1 atelier
30 % théorie · 70 % pratique
  • Tableaux
  • Génériques
  • Comparaisons et tris
  • Filtrage par motif
  • Optional
🛠 Ateliers pratiques
Traitement de données2 h

Traiter un jeu de données avec collections et flux.

✅ Livrable : Un module de traitement
Jour 4
Exceptions3,5 h
50 % théorie · 50 % pratique
  • Hiérarchie des exceptions
  • try / catch / finally
  • try-with-resources
  • Exceptions personnalisées
  • Journalisation
Apports des versions récentes3,5 h🛠 1 atelier
30 % théorie · 70 % pratique
  • Fichiers avec NIO2
  • Dates et heures
  • API Process
  • Blocs de texte et formatage
  • Nouveautés des dernières versions
🛠 Ateliers pratiques
Utilitaire système1,5 h

Écrire un utilitaire qui lit des fichiers et lance un processus.

✅ Livrable : Un utilitaire documenté
Jour 5
Entrées/sorties de données3,5 h
50 % théorie · 50 % pratique
  • Fichiers plats, CSV, Excel
  • Sérialisation
  • Lire et écrire du JSON
  • Gestion des encodages
  • Robustesse des traitements
Threads, concurrence et synthèse3,5 h🛠 1 atelier
30 % théorie · 70 % pratique
  • Threads et exécuteurs
  • Synchronisation et pièges
  • Threads virtuels
  • Assemblage de l’application fil rouge
  • Bilan
🛠 Ateliers pratiques
Livraison du fil rouge2 h

Finaliser et présenter l’application.

✅ Livrable : Une application présentée

Outils et technologies

IntelliJ IDEAJUnitJavaMaven

Méthodes pédagogiques

  • Alternance d’exposés courts et de travaux pratiques
  • Démonstrations en direct par le formateur
  • Projet fil rouge construit au fil des modules
  • Corrections collectives et échanges sur les bonnes pratiques

Évaluation

  • Exercices pratiques corrigés à chaque module
  • Mini-projet réalisé en fin de formation
  • Quiz de validation des acquis

Matériel requis

  • Un ordinateur avec une connexion internet
  • JDK récent, Maven ou Gradle et un IDE Java

Ressources fournies

  • Support de cours et dépôt d’exercices corrigés

Débouchés

  • Une application Java structurée et testée
  • Un socle pour Spring, Jakarta EE ou Android
  • Les bonnes pratiques de l’écosystème

Les cours vidéo associés

Mes cours en vidéo qui accompagnent ce programme : pour préparer la formation ou réviser ensuite. Accès gratuit avec un compte.