Rozumiem jak poniżej i nie twierdzę, że jest to w 100% poprawne, równie dobrze mogę się mylić.
Zmienna jest coś, co deklarują, które mogą domyślnie zmian i mają różne wartości, ale może być również wyraźnie mówi się, że ostateczna. W Javie byłoby to:
public class Variables {
List<Object> listVariable; // declared but not assigned
final int aFinalVariableExample = 5; // declared, assigned and said to be final!
Integer foo(List<Object> someOtherObjectListVariable) {
// declare..
Object iAmAlsoAVariable;
// assign a value..
iAmAlsoAVariable = 5;
// change its value..
iAmAlsoAVariable = 8;
someOtherObjectListVariable.add(iAmAlsoAVariable);
return new Integer();
}
}
Zasadniczo zmienna to wszystko, co jest zadeklarowane i może przechowywać wartości. Powyższa metoda foo zwraca na przykład zmienną .. Zwraca zmienną typu Integer, która przechowuje adres pamięci nowej Integer (); Wszystko inne, co widzisz powyżej, to także zmienne, listVariable, aFinalVariableExample i wyjaśniono tutaj:
Pole to zmienna, której zakres jest bardziej przejrzysty (lub konkretny). Zmienna powracająca z zakresu metody foo nie jest jasna w powyższym przykładzie, więc nie nazwałbym jej polem. Z drugiej strony iAmAlsoVariable jest polem „lokalnym”, ograniczonym zakresem metody foo, a listVariable jest polem „instancji”, w którym zasięg pola (zmiennej) jest ograniczony zasięgiem obiektów.
Właściwość to pole, do którego można uzyskać dostęp / zmodyfikować. Każde pole, które uwidacznia metodę pobierającą / ustawiającą, jest właściwością.
Nie znam atrybutu i chciałbym również powtórzyć, że tak rozumiem, czym są zmienne, pola i właściwości.