Wcześniej czytałem że wartości w java zapisuje się w zmiennych. Teraz doszedłem do rozdziału o obiektach i jest informacja że to nie zmienne a pola służą do przechowywania danych.
Jaką jest różnica między zmienną a polem?
Wcześniej czytałem że wartości w java zapisuje się w zmiennych. Teraz doszedłem do rozdziału o obiektach i jest informacja że to nie zmienne a pola służą do przechowywania danych.
Jaką jest różnica między zmienną a polem?
"Pole" jest cały czas zmienną, tylko taką, która jest częścią danej klasy.
The Java® Language Specification, 4.12 napisał(a)
A variable is a storage location and has an associated type, sometimes called its compile-time type, that is either a primitive type (§4.2) or a reference type (§4.3).
Pod tę definicję podpada zarównozmienna lokalna
, jak ipole klasy
, zatem formalnie pola też są zmiennymi.
Przyjęło się natomiast mówićzmienna
w węższym rozumieniuzmienna lokalna
, czyli taka zdefiniowana wewnątrz metody, w porównaniu dopola
, które jest zdefiniowane i widoczne w całej klasie.
Na przykładzie:
import java.util.*;
import java.lang.*;
import java.io.*;
class WitajSwiecie {
int toJestPole;
public static void main (String[] args) throws java.lang.Exception {
int toJestZmiennaLokalna;
}
}
Dziękuję za pomoc