ceres80
13-07-2006, 18:08
Salve a tutti, ho un problema che nn riesco a risolvere:
Date le classi
public class padre
{
...
public mioMetodo()
{
...
}
}
public class figlio1 extends padre
{
public static String colore ="Rosso";
}
public class figlio1 extends padre
{
public static String colore ="Verde";
}
come posso scrivere il metodo mioMetodo() nella classe padre in modo tale che quando viene chiamato da uno dei figli acceda alla variabile statica del figlio. In patrica il padre non ha e non deve avere la variabile statica colore mentre tutti i figli si ed essendo statica sarò diversa da ogni classe figlio che eredita padre. Il mio problema è che voglio accedere a queste variabili statiche dei figli da un metodo dichiarato nella classe padre e che quindi verrà ereditato da tutti i filgli.
Dovrei fare ad esempio una cosa del genere.
public class padre
{
...
public mioMetodo()
{
System.out.println(colore);
// colore nn è dichiarata e non deve essere dichiarata in padre però so che tutti i figli la dichiareranno
}
}
public class figlio1 extends padre
{
public static String colore ="Rosso";
}
public class figlio2 extends padre
{
public static String colore ="Verde";
}
public class Test
{
public static void main(String[] args)
{
figlio1 f1=new figlio1();
figlio2 f2=new figlio2();
figlio1.mioMetodo() //deve stampare rosso
figlio2.mioMetodo() //deve stampare verde
}
}
grazie
Date le classi
public class padre
{
...
public mioMetodo()
{
...
}
}
public class figlio1 extends padre
{
public static String colore ="Rosso";
}
public class figlio1 extends padre
{
public static String colore ="Verde";
}
come posso scrivere il metodo mioMetodo() nella classe padre in modo tale che quando viene chiamato da uno dei figli acceda alla variabile statica del figlio. In patrica il padre non ha e non deve avere la variabile statica colore mentre tutti i figli si ed essendo statica sarò diversa da ogni classe figlio che eredita padre. Il mio problema è che voglio accedere a queste variabili statiche dei figli da un metodo dichiarato nella classe padre e che quindi verrà ereditato da tutti i filgli.
Dovrei fare ad esempio una cosa del genere.
public class padre
{
...
public mioMetodo()
{
System.out.println(colore);
// colore nn è dichiarata e non deve essere dichiarata in padre però so che tutti i figli la dichiareranno
}
}
public class figlio1 extends padre
{
public static String colore ="Rosso";
}
public class figlio2 extends padre
{
public static String colore ="Verde";
}
public class Test
{
public static void main(String[] args)
{
figlio1 f1=new figlio1();
figlio2 f2=new figlio2();
figlio1.mioMetodo() //deve stampare rosso
figlio2.mioMetodo() //deve stampare verde
}
}
grazie