如果实际和形式参数具有相同的名称,是否可以接受?

The*_*eIt 2 java

像这样:

myMethod(first, second)

public void myMethod(int first, int second)
Run Code Online (Sandbox Code Playgroud)

我的老师说,最好不要将它们命名为相同.但我没有看到原因?他错了吗?

Ric*_*gle 7

变量应描述它们在自己的上下文中的含义.

例如,在方法上下文(形式参数)中,可以比较1和比较2.但是在调用上下文(实际参数)中它可能是myPyjamasmyAuntsPyjamas.如果它们在两种情况下"意味着"相同的东西那么就是这样.

所以在这个例子中他们可能是不同的:

Fanciness comparativeFanciness= comparePyjamas(myPyjamas,myAuntsPyjamas);

public static Fanciness comparePyjamas(Pyjamas compared1,Pyjamas compared2){
     .....
}
Run Code Online (Sandbox Code Playgroud)

对于那些想知道我的睡衣非常喜欢的人

但在另一个例子中,它们可能是相同的,因为它们在两种情况下都意味着相同的事情:

setThrustDirection(thrustDirection);

public void setThrustDirection(Vector3d thrustDirection){
     .....
}
Run Code Online (Sandbox Code Playgroud)

警告

避免使用与字段名称(也就是实例变量名称)相同的变量名称通常是个好主意,除非在构造函数中,因为您最终可能会遮蔽字段(意味着您必须访问字段this.name和变量name)