Rechercher : dans
Par :

[Java] class static

Dernière réponse le 13 aoû 2009 à 14:00:44 zagor5, le 7 mai 2004 à 13:05:58 
 Signaler ce message aux modérateurs

Bonjour,

Est-il possible en java de créer une class static? Par exemple:

public static class MaClass
mais ça n'a pas l'air d'être accepté.

Faut-il donc définir tous les attributs et méthode de la class en static?

Merci d'avance

Plus ça rate, plus on a de chances que ça marche.

Meilleures réponses pour « [Java] class static » dans :
Java - Premier programme Voir Première application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Les classes Java VoirLa notion d'objet Le langage Java intègre fortement le concept objet, il s'agit donc d'un langage orienté objet (LOO). Le terme langage orienté objet est plus qu'une simple appellation de plus pour désigner un type de langage, il...
Java - Constructeurs VoirLe constructeur: une méthode particulière Pour instancier une classe, c'est-à-dire créer un objet à partir d'une classe, il s'agit d'utiliser l'opérateur new. En réalité l'opérateur new, lorsqu'il est utilisé, fait appel à une méthode spéciale de...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...

1

JSS, le 7 mai 2004 à 14:22:42

Bonjour ou Bonsoir,

D'apres mes souvenirs en java, je pense qu'il te suffit de faire des methodes statiques et de declarer tes attribut e statique pour que ca marche.

www.java.sun.com le site pour faire du java !

Il me semble que tu as certaine fonctionnalite statique dans la class COLOR A voir!!
recherche google idéale : java nomclass.java !

++

JSS

Répondre à JSS

2

Nico, le 7 mai 2004 à 15:00:00

Yop,

exact. En java il te suffit de déclarer tes méthodes et tes attributs en statique. Pour les appeler d'une autre classe :
taClasse.taMethode()

++

Nico

Répondre à Nico

3

zagor5, le 7 mai 2004 à 19:45:06

Merci, c'est bien ce que je me disais.
Mais j'aurais trouvé plus simple de pouvoir déclarer une fois pour toute static sur la class sans devoir le faire sur chaques méthodes...



Plus ça rate, plus on a de chances que ça marche.

Répondre à zagor5

4

Linyoran, le 15 mar 2009 à 22:19:06

Par sécurité, tu peux faire une classe abstraite, c'est plus propre, personne ne pourra l'instancier. C'est un petit truc qui permet de montrer que c'est une classe qui n'existe que pour les fonctions qu'elle contient.

Répondre à Linyoran

5

tylerkay, le 10 aoû 2009 à 13:06:20

Une classe abstraite non, puisqu'une telle classe est faite pour etre dérivée, ce qui n'est pas forcément (jamais?) le cas pour une classe ne contenant que des methodes et/ou des champs statiques/finaux.

Celle-ci doit etre "finale", elle ne doit pas etre instanciée. La seule solution alors est de déclarée un constructeur "private".

Répondre à tylerkay

6

kij_82, le 10 aoû 2009 à 13:21:11

Bonjour,

Utiliser le mot 'final' pour une classe signifie que cette classe ne pourra jamais être étendue par la suite si un développeur souhaite le faire. En aucun cas cela signifie qu'elle ne pourra être instanciée.

Utiliser le mot 'static' pour une classe signifie que vous n'aurez pas besoin d'instancier cette classe pour accéder aux propriétés de classe. Attention à ne pas confondre propriétés / fonctions d'objet (relatif à l'instanciation) et propriétés / fonctions de classe (propriété statiques). Une classe statique par définition n'accepte aucun constructeur, elle ne peut / doit pas être instanciée.

Conclusion, si tu souhaites créer une classe avec des variables et méthodes statiques sans qu'elle puisse être instanciée, préfère le mot clé 'statique'. Attention toutefois, il me semble que pour le coup, toutes tes variables et fonction devront être déclarées avec le mot clé 'static', sinon ça ne colle pas.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Répondre à kij_82

7

tylerkay, le 12 aoû 2009 à 21:44:05

Je n'ai jamais dit qu'une classe "finale" ne pouvait pas etre instanciée; bien au contraire puisque je propose alors comme solution de déclarer le contructeur par défaut "private" (relis bien ma dernière phrase). Cela associé au mot clef "final" sur la classe empêche toute instanciation, ce qui est indispensable pour une classe de constantes.

Il n'est pas possible, a ma connaissance, de déclarer en java une classe entière "static", a moins de la déclarer intra-classe, comme attribut, ce qui est différent (l'attribut est statique, pas le type de l'attribut). Non?

Si cela est possible, cette solution est alors ideale, puisque dédiée.

Dans tous les cas, la mienne est tout aussi valable, puisque, je le repetes, elle empeche toute instanciation par son contructeur 'private' et l'impossibilité d'en redéfinir un (constructeur) par le mot-clef "final"...

Répondre à tylerkay

8

 kij_82, le 13 aoû 2009 à 14:00:44

Oui exact, je n'avais pas lu ça sous ce sens, ça fonctionne également.
Et effectivement, un classe ne peut être déclarée statique que si elle est interne, donc en temps qu'attribut d'une autre classe.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :)    ~

Répondre à kij_82