Invoquer constructeur avec paramètres en Java

Résolu/Fermé
Yohann Martineau - 3 déc. 2004 à 08:41
yohannmartineau Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 4 juin 2007 - 4 juin 2007 à 23:29
Bonjour,

est-il possible d'invoquer un constructeur avec des paramètres en Java ?
Un peu comme en utilisant un
Class.forname(String s)
mais avec les bons paramètres pour le constructeur.

Merci
A voir également:

4 réponses

yohannmartineau Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 4 juin 2007 1
4 juin 2007 à 23:29
bonjour,

désolé de ne pas avoir répondu plus tôt, je ne consulte pas très souvent mes mails sur hotmail. Ma nouvelle adresse est yohann point martineau arobase gmail point com.

J'ai regardé rapidement, visiblement ce routeur est utilisé par club internet (racheté par neuf) et alice en france.

pour le flasher, je pense que la procédure est sensiblement la même pour toutes les boîtes. Il y a probablement un client TFTP sur la boîte.

je suis allé très rapidement sur le site de comtrend, je n'ai pas trouvé les sources du firmware, mais j'ai trouvé cette adresse :
http://www.comtrend.com/DownLoads/software/
ce serait pas mal d'y jetter un petit coup d'oeil je pense.

sinon pour un firmware générique à tous les providers, j'ai entendu parler de openwrt (https://openwrt.org/ Mais à priori, il doit bien y avoir un os dessus quand il est vendu s'il est vendu dans le commerce en france ?

en théorie, si club internet ou tiscali utilise un firmware basé sur linux qui a été modifié pour les fournisseurs d'accès, les fournisseurs d'accès sont sensés mettre à disposition les sources sur internet, ou au moins donner un contact où il est possible de télécharger les sources gratuitement et librement.

Mais au fait, si tu veux flasher quelque chose sur ce routeur c'est que tu as déjà une image de la mémoire ou des sources qui t'ont permis de créér toi même une image à flasher sur la box ?

visiblement les mots de passe de la boite sont les suivants pour club internet et alice :
- Alice : root/v8r7u43y
- Club-Internet (Neuf) : root/clubadmin

essaie un telnet sur la boite puis sh, puis tftp pour récupérer une image stockée sur ton pc depuis ta boite. Il faut que tu aies un serveur tftp qui tourne sur ton pc et que ton image soit mise à disposition par ton serveur tftp.

bonne chance,

yohann

PS : ah oui sinon, pour l'invocation d'un constructeur avec paramètres en java... j'ai posté ce message en 2004... c'est à dire au moment où j'apprenais le java... j'avais trouvé la solution depuis, heureusement... :-) mais merci pour la solution, si ça peut aider d'autres personnes, c'est toujours bienvenu !
1
Utilisateur anonyme
3 déc. 2004 à 08:59
Bonjour,
En parcourant la documentation des classes, on ne peut constater que c'est presque toujour le cas
a+
0
yohannmartineau Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 4 juin 2007 1
3 déc. 2004 à 09:11
en fait je voulais dire invoquer un constructeur avec son nom dans une string et ses paramètres dans un vecteur par exemple
0
Bonjour,

j'ai trouve sur ton blog que tu avais compilé le firmware de club internet.

Je cherche une procedure pour flasher le ct-633 et rendre ce model utilisable pour n'importe quel FA.

Si tu as une solution , je suis tres interessé. et je peux meme te remunerer si cela t'interesse

tres cordialement

David
0
Utilisateur anonyme
1 juin 2007 à 13:43
Salut!

Voici un petit exemple qui instancie une ArrayList en passant un Vector en paramètre du constructeur qui demande une Collection:

package reflection;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;

public class ReflectionInstantiate {

	public ReflectionInstantiate() {
		super();
	}

	public static void main(String[] args) {
		Collection<Integer> dataSet = new Vector<Integer>();
		dataSet.add(123);
		dataSet.add(56);
		dataSet.add(76);
		dataSet.add(98);
		
		ArrayList dataList = null;
		try {
			
			Constructor constr = ArrayList.class.getConstructor(new Class[]{Collection.class});
			dataList = (ArrayList)constr.newInstance(dataSet);
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		System.out.println(dataList);

	}
}




;-)
HackTrack
0