我有方法设置为public,因为它们必须由外部类调用,但我只想让它们通过一个或两个方法调用。被其他方法调用可能会在我的程序中产生错误。因此,为了阻止我在我自己的方法避免发生意外编程,我一直在做这样的东西,而我想限制呼叫者的方法中:Java - 通过什么方法可以被称为
if(trace.length<2){
throw new Exception("Class should not call its own function.");
}else if(trace[1].getClassName()!=desiredClassName || trace[1].getMethodName()!=desiredMethodName){
throw new Exception(trace[1].getClassName()+"\" is invalid function caller. Should only be called by "+desiredClassName+"->"+desiredMethodName+".");
}
有别的我应该做的,或者我应该忘记我的程序是如何工作的吗?
写javadocs? – BalusC 2011-01-22 05:59:18
听起来好像我应该开始这样做,但是我仍然在想,如果有人像我描述的那样编程来明确地阻止不正确的呼叫,或者如果有人发现这些散布在我的代码中,我会只是笑了起来。 – schnozzinkobenstein 2011-01-22 06:08:10