IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Interface implémentant la classe Calendar


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Par défaut Interface implémentant la classe Calendar
    Salut,

    j'ai un problème à la compilation de ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import java.util.* ;
     
    public interface Calendrier implements Calendar
    {
     
    	//constructeur de la classe
    	public Calendrier(String date)
    	{
    		super() ;
    		this.set(2000+date.substring(4,5), date.substring(2,3), date.substring(0,1)) ;
    	}
     
    	//méthode qui renvoie la date du jour
    	public String getDate()
    	{
    		return ((String)(this.get(Calendar.YEAR)-2000)+(this.get(Calendar.MONTH)*100)
    										+(this.get(Calendar.DAY)*10000)) ;
    	}
     
    	//méthode pour incrémenter la date d'un jour
    	public void datePlusPlus()
    	{
    		this.add(Calendar.DAY, 1) ;
    	}
    }
    J'obtiens les messages d'erreurs suivants :
    Calendrier.java:3: '{' expected
    public interface Calendrier implements Calendar
    ^
    Calendrier.java:25: '}' expected
    }
    ^
    2 errors

    Vraiment je ne vois pas ce qui ne va pas. J'ai une idée, comme la classe Calendar est abstraite, je me demande si il ne faut pas redéfinir toute les méthodes abstraites de la classe Calendar dans ma classe.
    Si oui c'est un peu chiant parce que je n'ai pas besoin de ces méthodes...
    Merci pour votre aide en tout cas

    Jean.

  2. #2
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,


    java.util.Calendar n'est pas une interface. C'est une classe abstraite donc si tu désires dériver une nouvelle classe de Calendar, il faut la déclarer comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public class Calendrier extends Calendar {
    ....
    Mais il faudra implémenter toutes les méthodes définies "abstract".

    En relisant ton code, je vois que tu définis Calendrier comm étant une interface. Je te rappelle qu'une interface ne doit contenir que des définitions (pas de code).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Par défaut
    Merci j'ai fait toute les modifications nécessaires et ça passe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/01/2015, 09h32
  2. Classe fille implémentant une interface d'une classe mère
    Par Ccckris dans le forum Architecture
    Réponses: 1
    Dernier message: 05/03/2014, 13h52
  3. Réponses: 4
    Dernier message: 03/01/2013, 10h00
  4. Récupérer une interface implémentée par une classe
    Par samaury dans le forum Langage
    Réponses: 2
    Dernier message: 20/04/2010, 22h04
  5. Réponses: 6
    Dernier message: 31/07/2009, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo