无论如何,当通过对象(实例)调用方法时,该方法知道哪个实例(对象)调用了它?
这是我的意思的示例(伪代码):
伪代码示例
public class CustomClass{
public void myMethod(){
if (calling method is object1){
//Do something here
}
else {
//Do something else
}
}//End of method
}//End of class
然后在另一个班级:
public SomeOtherClass{
CustomClass = object1;
public void someOtherMethod(){
object1 = new CustomClass();
object1.myMethod(); //This will call the 1st condition as the calling object is object1, if it were some other object name, it would call the 2nd condition.
}//End of method
}//End of class
可能的解决方法
我发现这样做的唯一方法是让该方法接受另一个参数,比如一个“int”,然后检查该 int 的值并执行与它相关的“if else”语句的任何部分(或“ switch' 语句,如果肯定使用 'int' 值),但这似乎是一种非常混乱的方式。