那么,我可以在java中的类和方法参数中为公共变量使用相同的名称吗? 例如(" number"声明两次):
public class Class1 {
public int number;
public static String function1(String id,int number)
{
//do something
}
}
答案 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;
}
}
当你在构造函数中使用相同的变量名和你的类属性名时,它们会在编译时抛出错误