Inner class static

di il
1 risposte

Inner class static

Buonasera,

ho difficoltà con le inner class di tipo static, non riesco ad ottenere come risultato in matricola la stringa matricola + prefisso

ERRORE: non static variable this cannot be referenced

import java.util.*;

class Studente{

private static String nome;
private static String matricola;
private String prefisso;





static class Triennale{
public String prefisso;

public Triennale(String nome,String matricola){
nome = nome;
matricola=matricola;
}

public String getMatricola() { return matricola;}


public static void setPrefisso (String prefisso)
{
matricola= prefisso + matricola; !!ERRORE: non static variable this cannot be referenced!!
}



}

}

}

class Solution{

public static void main (String [] args)
{

Object luca1 = new Studente.Triennale("Luca", "004312");
Studente.Triennale.setPrefisso ("N86");

}

}


Potreste aiutarmi a risolvere?

Grazie

1 Risposte

  • Re: Inner class static

    AlexNapoli ha scritto:


    ho difficoltà con le inner class di tipo static, non riesco ad ottenere come risultato in matricola la stringa matricola + prefisso

    ERRORE: non static variable this cannot be referenced
    A dire il vero .... la classe Studente con la nested class Triennale compila benissimo, nessun errore.

    Ma ....

    a)
    nome = nome;
    matricola=matricola;

    assegni i parametri a sé stessi (non ha senso così)

    b) hai un prefisso in Studente e uno in Triennale (cosa ti servono entrambi?)

    c) hai "troppe" cose static (non va bene)

    d) dal setPrefisso leggi e setti un campo static (matricola) della classe contenitore Studente.


    Insomma ... è TUTTO sbagliato. Rifai il codice cercando di ragionare di più "object oriented".
Devi accedere o registrarti per scrivere nel forum
1 risposte