Déclarer une variable sans déclarer son type ? [Résolu/Fermé]

Signaler
Messages postés
40
Date d'inscription
jeudi 14 juin 2012
Statut
Membre
Dernière intervention
26 janvier 2017
-
Messages postés
40
Date d'inscription
jeudi 14 juin 2012
Statut
Membre
Dernière intervention
26 janvier 2017
-
Bonjour à tous,

Je débute en Java/Android.

J'ai bien compris que pour pouvoir utiliser une variable, il fallait déclarer son type. Exemple :

int counter;
counter=1;

Existe-t-il une manière de procéder pour que la déclaration du type se fasse automatiquement ?

L'idée serait de faire quelque chose comme : "Toutes les variables déclarées ci-après seront du type int". Voyez-vous ce que je veux dire ?

Bien cordialement.

2 réponses

Messages postés
333
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
201
Salut,

Cela ne fonctionne qu'avec des objets immuables, par exemple :
String toto, titi, tata;
toto = "foo";
titi= tata = "bar";


Donc cela ne fonctionnera pas dans cet exemple, où les variables pointent tous la même instance :
Voiture renault, citroen, peugeot;
renault = citroen = peugeot = new Voiture();

Il faut donc ici faire :
Voiture renault = new Voiture();
Voiture citroen = new Voiture();
Voiture peugeot = new Voiture();
Messages postés
15929
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2020
2 628
Bonjour,

Je ne suis pas d'accord avec la première partie de ta réponse sur les objets immuables (ou alors c'est une spécificité pour Android qui n'existe pas en Java).
Si c'est un objet on manipule sa référence, donc immuable ou pas c'est le même objet qui sera pointé par les deux variables.

On peut très bien faire :
Voiture renault = new Voiture(), citroen = new Voiture(), peugeot = new Voiture();

D'ailleurs rien ne permet de dire si Voiture est immuable ou non, c'est le genre de propriétés qui ne sont pas explicitables dans le code.
Messages postés
333
Date d'inscription
jeudi 13 mars 2014
Statut
Membre
Dernière intervention
14 mars 2017
201
En effet KX ma réponse était incomplète pour avancer que l'objet Voiture n'était pas immuable.

Ce que je voulais exprimer à travers cette réponse, était le fait que l'objet String, comme l'objet Integer entre autres, créait une nouvelle instance pour chaque nouvelle déclaration, contrairement à la classe Voiture qui, j'ai omis de préciser, est un objet muable/mutable ? (trop d'anglicismes dans notre langue française....) et donc ne pouvait se permettre d'utiliser les même instanciations.

Quand à Android je ne sais pas, je ne travaille pas sur cet environnement et je parlais bien ici de Java "pur" si je peux.
Messages postés
40
Date d'inscription
jeudi 14 juin 2012
Statut
Membre
Dernière intervention
26 janvier 2017
1
Merci beaucoup pour vos réponses.

J'ai encore un peu de mal à comprendre car je suis trop débutant.

J'ai finalement trouvé une solution alternative :

Je vais faire une déclaration du type de certaines variables directement dans les boucles de calcul dont j'ai besoin.

En tout cas, encore merci.

Bien cordialement.