Java 限制或阻止方法实现
我有一个场景,我在代码的多个部分调用了一个特定的方法。现在我需要这个方法不被实现,或者这个代码中的行不被执行用于特定的条件(比如开/关开关)。我可以在调用该方法的任何地方添加if…else。但是在java中有没有其他方法可以实现这一点呢。也许在方法层面 正如我提到的,我不想在调用方法的任何地方添加if..else。 添加以下示例:Java 限制或阻止方法实现,java,methods,readonly-attribute,Java,Methods,Readonly Attribute,我有一个场景,我在代码的多个部分调用了一个特定的方法。现在我需要这个方法不被实现,或者这个代码中的行不被执行用于特定的条件(比如开/关开关)。我可以在调用该方法的任何地方添加if…else。但是在java中有没有其他方法可以实现这一点呢。也许在方法层面 正如我提到的,我不想在调用方法的任何地方添加if..else。 添加以下示例: public class Example { static boolean readOnly = true; public static void getWork
public class Example {
static boolean readOnly = true;
public static void getWorkDone() {
System.out.println("I am working to get it done!!");
}
public static void main(String[] args) {
if (readOnly == true)
Example.getWorkDone();
}
public void anotherMethod1() {
if (readOnly == false)
Example.getWorkDone();
}
public void anotherMethod2() {
if (readOnly == true)
Example.getWorkDone();
}
}使您的方法成为最终方法,并在其中添加某种配置
public final void doSomething() {
if (switchedOn) return;
// rest if the code.
}
通过在final中进行设置,可以使none从扩展该方法的类中重写该方法
通过在函数中返回,您可以确保当某个条件存在时,不会发生任何其他情况您说过可以使用if-else子句来执行此操作。但是,如果用户可以调用该方法,他们不能同时更改标志吗 您可以使用
访问限制
使方法对某些人不可访问
您还可以将该方法放入私有内部类中,并通过该类的实例化使其可用。使用完该方法后,请删除该实例。如果它是私有的,任何人都不能调用它。但私有方法也是如此
public class MainClass {
String msg = "Hello, World!";
public static void main(String[] args) {
MainClass a = new MainClass();
a.start();
}
public void start() {
MyClass pvtClass = new MyClass();
System.out.println(pvtClass.getMsg());
}
private class MyClass {
private String getMsg() {
return msg;
}
}
}
但据我所知,你不能卸载一个方法。你能提供一个例子吗?很明显,这是一个你想要的if/else,但是你不会把它放在多个地方。。。根据方法的复杂性,您可以将条件添加到方法本身,或将其包装到另一个方法中,该方法执行条件并在“打开”时委托给现有方法,然后调用该方法。请问“无法卸载方法”是什么意思?甚至Java也允许您通过反射加载类及其方法。其他语言允许用户操作符号表和添加或删除方法。我正在使用它来描述如何将一个方法从它的封闭类中分离出来。感谢您的澄清,这是有意义的。Athanasios Kataras谢谢您,我认为这似乎是合理的。请检查此选项并查看。