» »

Java, cannot find symbol (Razredi)

Java, cannot find symbol (Razredi)

marjan_h ::

Meni se to zdi smiselno, vendar ne dela ker ne najde atributa od Marjetice. Kako, sej sem preveril če je objekt od Marjetice, kar je potem bi moral tudi izpisat tisti atribut STcvetov.






class Roza{
    String barva;
    int visina;
    
    Roza(String barva, int visina){
        this.barva = barva;
        this.visina = visina;
    }
}

class Marjetica extends Roza{
    int stCvetov;
    
    Marjetica(String barva, int visina, int stCvetov){
        super(barva,visina);
        this.stCvetov = stCvetov;
    }
}


//class Vrtnica

//... itd.



public class Test{
    
    public static void main(String args[]){
        Roza TabelaRoz[] = new Roza[2];
        TabelaRoz[0] = new Marjetica("bela", 10, 30);
        TabelaRoz[1] = new Marjetica("bela", 15, 32);
        
        for(int i=0; i < TabelaRoz.length; i++){
            if (TabelaRoz[i] instanceof Marjetica)
                //tale vrstica: cannot find symbol
                System.out.println(TabelaRoz[i].stCvetov);
        }
        
    }
        
}

icurk ::

Mislim da v Javi je po defaultu private modifikator. Tako da postavi spremenljivke na public.

infiniteLoop ::

Instanceof keyword in downcast. Zdaj pa googlat zakaj uporaba instanceof vecinokrat pomeni, da si ga nekje polomil pri modeliranju.


class Roza{
    String barva;
    int visina;
    
    Roza(String barva, int visina){
        this.barva = barva;
        this.visina = visina;
    }
}

class Marjetica extends Roza{
    int stCvetov;
    
    Marjetica(String barva, int visina, int stCvetov){
        super(barva,visina);
        this.stCvetov = stCvetov;
    }
}


//class Vrtnica

//... itd.



public class Test{
    
    public static void main(String args[]){
        Roza TabelaRoz[] = new Roza[2];
        TabelaRoz[0] = new Marjetica("bela", 10, 30);
        TabelaRoz[1] = new Marjetica("bela", 15, 32);
        
        for(int i=0; i < TabelaRoz.length; i++){
            if (TabelaRoz[i] instanceof Marjetica)
                //tale vrstica: cannot find symbol
                if (TabelaRoz[i] instanceof Marjetica) {
                    System.out.println(((Marjetica)TabelaRoz[i]).stCvetov);
                }                
        }
        
    }
        
}

None of us is as dumb as all of us.

Zgodovina sprememb…

marjan_h ::

Odlično, hvala, sedaj dela. Zanimivo da je treba samo tisto dodati

Spura ::

icurk je izjavil:

Mislim da v Javi je po defaultu private modifikator. Tako da postavi spremenljivke na public.

Default access je package access. Drugace pa itak naj ne bi dostopal do memberjev direktno kot je v OP.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] Vstavljanje vrednosti v tabelo

Oddelek: Programiranje
111512 (1334) Cvenemir
»

Vodni udar (java)

Oddelek: Programiranje
61332 (1030) Nuke_H2
»

[NALOGA][JAVA] oklepaji - skladi

Oddelek: Programiranje
111708 (1539) bijonda
»

JAVA-NALOGA- Pomoc NUJA!!!!!

Oddelek: Programiranje
61589 (1512) bijonda
»

[java] funkcija ekvivalentna print_r v PHP

Oddelek: Programiranje
161579 (1342) sverde21

Več podobnih tem