So, can I use same name for public variable in a class and method argument in java? for example("number" is declared twice):
public class Class1 {
public int number;
public static String function1(String id,int number)
{
//do something
}
}
Yes you can.
The int number declared in the method is only accesible inside de method.
The int number declared as property in the class is accesible in any method for the class.
If you want to access to the number property inside the method, you must use this.
Example:
public static String function1(String id,int number)
{
this.number = number;
}
Yes, if anyhow you have scope related problem then you can qualify the member using the reference this
public static String function1(String id, int number)
{
this.number = number;
//here you assign the class member with the value of the parameter
}
Yes, you can because the two variables are in different scopes. The method argument is hiding the class attribute for the scope of the function. If you want to access the class attribute within your method anyway, simply use this.number instead.
来源:https://stackoverflow.com/questions/44286520/can-i-use-same-name-for-public-variable-and-method-argument-in-java