2012-10-18 6 views
-1

J'essaye de créer une classe LinearNode avec un entrepreneur non par défaut mais en passant les deux arguments. J'ai essayé mais j'ai une erreur. Une idée pourquoi?Classe avec constructeur par défaut

public class LinearNode<T> (T elem, LinearNode<T> node){ 
     private LinearNode<T> next = node; 
     private T element = elem; 
    } 

Merci!

Répondre

2

Vous avez mélangé le constructeur avec la définition de classe. Le constructeur est une fonction membre spéciale et doit être définie plus ou moins comme une méthode (sans type de retour et avec le même nom que la classe).

public class LinearNode<T> { 
    private LinearNode<T> next; 
    private T element; 

    LinearNode(T elem, LinearNode<T> node) { 
     next = node; 
     element = elem; 
    } 
} 
+0

obtenu .. merci .. – JProg

+0

bonne réponse, mais pourrait utiliser quelques explications. Ce site n'est pas destiné à être un endroit où les gens écrivent du code pour vous. – gnomed

+0

Ok, je pensais que l'exemple était si petit qu'il l'expliquait. Mais tu as raison. –

1

Vous ne pouvez pas avoir (arguments) avec déclaration de classe

Et aussi

vous ne pouvez pas spécifier spécificateur d'accès private pour les variables locales

0

Votre déclaration de constructeur doit être distincte de votre déclaration de classe. Comme si:

public class LinearNode<T>{ 
    private LinearNode<T> next; 
    private T element; 
    LinearNode<T>(T elem, LinearNode<T> node){ 
     next = node; 
     element = elem; 
    } 
} 
Questions connexes