Can I use same name for public variable and method argument in java?

半世苍凉 提交于 2019-12-02 15:21:37

问题


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

    }
}

回答1:


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;
}



回答2:


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
}



回答3:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!