Classes java
Fermé
Jadorelinfo
Messages postés
51
Date d'inscription
samedi 24 mai 2014
Statut
Membre
Dernière intervention
15 avril 2016
-
28 mai 2014 à 16:21
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 28 mai 2014 à 18:53
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 28 mai 2014 à 18:53
A voir également:
- Classes java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
3 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
28 mai 2014 à 17:45
28 mai 2014 à 17:45
'lut, oui, une
Une fois déclarée, tu peux t'en servir comme ceci:
De même, si tu déclares un Object (dont toutes les classes héritent implicitement)
Et que tu lui attribues une instance d'une
alors tu pourras faire ceci:
qui renverra
class Maisondevient un type, mais ce n'est, comme tu t'es rendu compte, pas un type natif inclus dans Java.
Une fois déclarée, tu peux t'en servir comme ceci:
Maison maMaison = new Maison();
De même, si tu déclares un Object (dont toutes les classes héritent implicitement)
Object unHabitat;
Et que tu lui attribues une instance d'une
Maison,
unHabitat = new Maison();
alors tu pourras faire ceci:
unHabitat.getClass().getSimpleName()
qui renverra
"Maison", car unHabitat contient un type
Maison.
Jadorelinfo
Messages postés
51
Date d'inscription
samedi 24 mai 2014
Statut
Membre
Dernière intervention
15 avril 2016
1
28 mai 2014 à 18:17
28 mai 2014 à 18:17
merçi pour ta réponse, donc il existe 2 types(au moins) en java: natif et non natif??
il suffit que je crée une classe avec n'importe quelle mot et ça devient automatiquement un type ??
il suffit que je crée une classe avec n'importe quelle mot et ça devient automatiquement un type ??
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 28/05/2014 à 18:22
Modifié par gravgun le 28/05/2014 à 18:22
Quand je disais "natif", je voulais juste dire qu'il ne venait pas avec Java et son runtime, que c'est une classe que tu as créé de toutes pièces toi-même.
Autrement les types dits vraiment natifs (dits primitifs) sont les types
"avec n'importe quelle mot": oui, mais il y a des limites: on ne peut pas mettre certains caractères dans le nom, et le nom ne peut pas commencer par un chiffre.
Autrement les types dits vraiment natifs (dits primitifs) sont les types
int,
long,
byte,
short,
float,
double,
booleanet
char, qui eux sont spéciaux: ce sont des classes, mais particulières.
"avec n'importe quelle mot": oui, mais il y a des limites: on ne peut pas mettre certains caractères dans le nom, et le nom ne peut pas commencer par un chiffre.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
28 mai 2014 à 18:51
28 mai 2014 à 18:51
En fait les 8 types primitifs sont des exceptions, pour les puristes un langage objet ne devrait manipuler que des objets, or ces types primitifs permettent de manipuler des données directement, sans avoir d'appel de méthodes. Tout le reste est objet, tu manipules des références qui sont effectivement typées, chaque objet ayant un type concret (issu du constructeur de la classe), mais pouvant être assigné à des références de plusieurs types "compatibles" (dépendant de la hiérarchie de classe héritées et d'interfaces implémentées par l'objet).
"ce sont des classes, mais particulières. "
Je suis pas vraiment d'accord, car vu que ce ne sont pas des objets on peut difficielement parler de classes derrières. Il y a certes des écritures un peu ambigües comme
"ce sont des classes, mais particulières. "
Je suis pas vraiment d'accord, car vu que ce ne sont pas des objets on peut difficielement parler de classes derrières. Il y a certes des écritures un peu ambigües comme
int.classqui feraient penser que ce sont des classes qui n'héritent pas d'Object mais pour moi ce sont juste des facilités d'écritures un peu bâtardes, pour l'introspection notamment.
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
28 mai 2014 à 18:53
28 mai 2014 à 18:53
Oui je pensais au
int.classjustement, même si je sais que c'est pas vraiment une classe. J'ai juste voulu faire simple.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
28 mai 2014 à 18:26
28 mai 2014 à 18:26
Bonjour,
Java, comme tout les langages objets (et un grand nombre d'autres langages) est extensible. Cela signifie que tu peux créer autant de classes que tu veux et les réutiliser comme un nouveau type de données.
Remarque : formellement il n'y a que les classes du package java.lang que l'on peut considérer comme appartenant au langage. En effet l'API standard n'est qu'une spécifications et il peut en exister plusieurs implémentations (Oracle vs OpenJDK par exemple).
Donc toutes les classes que tu importes sont déjà des extensions du langage Java. Et comme Java est fortement typé, à chaque classe correspond un nouveau type (ou presque, il y a aussi les classes abstraites et interfaces qui apportent quelques nuances).
Java, comme tout les langages objets (et un grand nombre d'autres langages) est extensible. Cela signifie que tu peux créer autant de classes que tu veux et les réutiliser comme un nouveau type de données.
Remarque : formellement il n'y a que les classes du package java.lang que l'on peut considérer comme appartenant au langage. En effet l'API standard n'est qu'une spécifications et il peut en exister plusieurs implémentations (Oracle vs OpenJDK par exemple).
Donc toutes les classes que tu importes sont déjà des extensions du langage Java. Et comme Java est fortement typé, à chaque classe correspond un nouveau type (ou presque, il y a aussi les classes abstraites et interfaces qui apportent quelques nuances).