我可以在java中为公共变量和方法参数使用相同的名称吗?

时间:2017-05-31 13:45:26

标签: java methods arguments public

那么,我可以在java中的类和方法参数中为公共变量使用相同的名称吗? 例如(" number"声明两次):

public class Class1 {
    public int number;

    public static String function1(String id,int number)
    {
        //do something

    }
}

4 个答案:

答案 0 :(得分:2)

是的,如果您无论如何都有与范围相关的问题,那么您可以使用参考this

来限定会员资格
public static String function1(String id, int number)
{
    this.number = number; 
    //here you assign the class member with the value of the parameter
}

答案 1 :(得分:1)

是的,你可以。

方法中声明的 int数 只能在de方法中访问。

在类的任何方法中都可以访问类中声明为属性 的 int数。

如果您想要访问方法中的 号码 属性,则必须使用 。< / p>

示例:

public static String function1(String id,int number)
{
    this.number = number;
}

答案 2 :(得分:1)

是的,你可以因为这两个变量在不同的范围内。 method参数隐藏了函数范围的class属性。如果您想要在方法中访问class属性,只需使用this.number。

答案 3 :(得分:0)

是的,您可以在java中为公共变量和方法参数使用相同的名称,但要小心构造函数

你不能这样做

for i in 0...<items.count{
 let uploadJob = URLSession.shared.uploadTask(with: request, from: data)}

改为这样做

public class Car{
    String carname;
    int carspeed;

    public  Car(String carname , int carspeed){
        carname = carname;
        carspeed = carspeed;
    }

}

或者这样做

public class Car{
    String carname;
    int carspeed;

    public  Car(String carName , int carSpeed){
        carname = carName;
        carspeed = carSpeed;
    }

}

你甚至可以混合它

public class Car{
    String carname;
    int carspeed;

    public  Car(String carname , int carspeed){
        this.carname = carname;
        this.carspeed = carspeed;
    }
}

当你在构造函数中使用相同的变量名和你的类属性名时,它们会在编译时抛出错误