128 votes

Définir une classe abstraite sans aucune méthode abstraite

Puis-je définir une classe abstraite sans ajouter de méthode abstraite ?

188voto

biziclop Points 21446

Bien sûr.

Déclarer une classe abstraite signifie seulement que vous ne permettez pas qu'elle soit instanciée seule.

Déclarer une méthode abstraite signifie que les sous-classes doivent fournir une implémentation pour cette méthode.

Les deux sont des concepts distincts, bien que vous ne puissiez évidemment pas avoir de méthode abstraite dans une classe non abstraite. Vous pouvez même avoir des classes abstraites avec des final mais jamais l'inverse.

11voto

Shreyos Adikari Points 3579

Oui, vous pouvez. La classe abstraite utilisée en java signifie que vous ne pouvez pas créer un objet de la classe. Et une méthode abstraite que les sous-classes doivent fournir une implémentation pour cette méthode.

Ainsi, vous pouvez facilement définir une classe abstraite sans aucune méthode abstraite.

Comme par exemple :

 public abstract class AbstractClass{

    public String nonAbstractMethodOne(String param1,String param2){
        String param = param1 + param2;
        return param;
    }

    public static void nonAbstractMethodTwo(String param){
        System.out.println("Value of param is "+param);
    }
}

C'est bon.

8voto

Marc W Points 13166

Oui tu peux le faire. Pourquoi n'essayes-tu pas simplement de faire ça ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X