Da , am sa fac cateva clarificari , ca paremi'se ca ai inteles gresit ( din greseala mea , de cod ).
Nu am declarat o clasa , in interiorul altei clase . Daca era asa , era simplu , dar nu este ( oricum , nu asta am vrut eu sa fac ) .
Practic eu am doua clase : clasa1 si clasa2;
class clasa1 { -> deschidem clasa
< variabilele , constructori , metode >
< .. aici doresc sa modific valoarea lui pv >
} -> inchidem clasa1
si
class clasa2 { -> deschidem clasa
< variablele , constructori , metode >
static int pv;
pv=2;
} -> inchidem clasa2
Ce am vrut eu sa fac ? Din clasa1 sa modific
valoarea variabilei pv din
clasa2 .
Nu am declarat clase imbricare sau altceva , am decat doua clase simple , care aparent nu au treaba una cu alta ( asta vroiam sa exemplific ).
Daca erau clasa in clasa , oricum clasa imbricata , mosteneste totul de la clasa de acoperire ( si variabilele declarate private ) sau apel direct , deci nu era problema asta.
Sper ca m'ai inteles , ce incerc eu sa fac.
EDIT : am reusit sa rezolv problema ( dupa cum spuneam era ceva destul de simplu ).
- am declarat variabila de care aveam nevoie sa o modific din alte clase ( statica si publica ) si o modific din clasa1 cu
clasa2.pv ( pv fiind in clasa 2 ). Un exemplu ( daca se intampla sa mai casa si altcineva in aceeasi plasa ca si mine ) :
-
clasa 1
class clasa1 {
//.. declaratii bla bla ..
//- aici modificam variabila pv , care se gaseste in clasa2 in felul urmator :
clasa2.pv = clasa2.pv-1; // am scazut cu 1 VALOARE variabilei pv din clasa2
}
-
clasa 2
class clasa2 {
// .. declaratii ..etc..
// aici avem declarata variabila pv : static + public ( pentru a ii putea fi modificata valoarea din alte clase ).
public static int pv = 10;
}
Sper ca nu am consumat timpul nimanui. :lol: