Java 限制或阻止方法实现

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

我有一个场景,我在代码的多个部分调用了一个特定的方法。现在我需要这个方法不被实现,或者这个代码中的行不被执行用于特定的条件(比如开/关开关)。我可以在调用该方法的任何地方添加if…else。但是在java中有没有其他方法可以实现这一点呢。也许在方法层面

正如我提到的,我不想在调用方法的任何地方添加if..else。 添加以下示例:

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谢谢您,我认为这似乎是合理的。请检查此选项并查看。