PDA

Visualizza la versione completa : [java] classe dentro classe


Lucked
14-07-2004, 17:43
:oVVoVe: la parte dopo gli asterischi devo tenerla uguale e fare dei metodi interni alla classe di supporto all'albero..il main dove lo metto? ho provato questa semplice dichiarazione ma mi da errore


1
public class IntTree
{

public static void main(String[] args){
root = new Node();
//root.data = null;


}


// ********************
private Node root;
private class Node
{
public int data;
public Node left;
public Node right;
}


}

anx721
14-07-2004, 23:59
Il problema non la classe interna, ma il fatto che nel main, che un metodo static, vuoi accedere al campo root, che non un campo static della classe IntTree.

Inizializza il campo root nel costruttore della classe:



public class IntTree
{

public IntTree(){
root = new Node();
}


public static void main(String[] args){

.....
....

}


// ********************
private Node root;
private class Node
{
public int data;
public Node left;
public Node right;
}

}


:ciauz:

Lucked
15-07-2004, 00:17
:messner: mi faresti un piccolo esempio per dare un numero alla radice..

anx721
15-07-2004, 00:42
public class IntTree
{

public IntTree(){
root = new Node();
root.data = 0
}


public static void main(String[] args){

.....
....

}


// ********************
private Node root;
private class Node
{
public int data;
public Node left;
public Node right;
}

}



oppure ti definisci in costruttore di Node che prende in in put il valore numerico, oppure implementi un metodo public in IntTree che prende un intero e che crea un nuovo nodo nell'albero con quel valore. Dipende da cos' che vuoi fare...

Angelo1974
15-07-2004, 00:50
Ciao in alternativa potresti fare:
public class IntTree
{

public static void main(String[] args){
IntTree intTree = new IntTree();
Node root = intTree.new Node();
root.data = 1000;


}


// ********************
private Node root;
private class Node
{
public int data;
public Node left;
public Node right;
}


}

Lucked
15-07-2004, 01:53
ok grazie a tutti e due, per gli esempi pratici! :ciauz:

Loading