Can the terms 'variable' and 'field' be used interchangeably in java?
While studying java with several books, none of them seem to make it clear when to use which term. Right now I understand it as follows:
Variables are defined w开发者_StackOverflow中文版ithin a method, while fields are part of a class.
Edit:
You have the right idea.
After going back to the Java Documentation, I'll use their terminology:
- Member variables in a class—these are called fields.
- Variables in a method or block of code—these are called local variables.
- Variables in method declarations—these are called parameters.
Variables refer to fields, local variables, and parameters.
"Variables" is a more general term than "fields". But your summation is basically correct. A field is a class-level variable.
You are correct. Variables can be be local to a method. Fields are variables that belong to the class.
EDIT : Fields can be private
, protected
, or public
.
Yes, that's correct. Fields are also called members.
I think you are right to stress the difference. A variable is something that can change, a field is rather a member that has a value, this value can be final in which case calling it a variable seems a bit strange.
In java, a variable is anything which can change its value over the period of execution, while a field (which can also be called a "member" variable of a class) belongs to a class.
A constant/final can be though of (although some may disagree) as opposite of variable.
A Field belongs to a class and can be a variable or constant/final.
精彩评论