java - 如何在java中嵌套方法以强制用户使用嵌套名称?

标签 java android intellij-idea

我正在编写一个库,为了提高可读性,我想强制用户使用嵌套方法来调用正确的函数。

例如,这是我的类(class):

public class Foo{
public void methodA(){}
public void methodB(){}
public void methodC(){}
}

我对用户的期望:

Foo foo = new Foo();
foo.methodA.methodB();
foo.methodA.methodC();

通过调用方法A作为前缀来调用方法B和C

最佳答案

读完你的问题后,我认为你在问构建器设计模式,其中每个方法返回类型都是相同的类对象,并且你可以像这样进行调用层次结构。

obj.aMethod().bMethod().cMethod();

在您的示例中只需这样做:

public class Foo{
 private static final Foo instance = new Foo();
 private Foo(){}

 public static Foo getInstance(){
    return instance;
 }

 public Foo methodA(){
  //Do stuff 
  return getInstance();
 }
 public Foo methodB(){}
 public Foo methodC(){}
}

现在你可以像objfoo.getInstance().methodA().methodB();这样调用

希望对您有帮助。 To read more about that pattern

关于java - 如何在java中嵌套方法以强制用户使用嵌套名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845629/

相关文章:

intellij-idea - 如何在没有 IntelliJ 的情况下运行 .http 文件?

java - XML 中是否有等效于 setColorFilter() 的方法?

java - 如何以相同的格式在 Excel 工作表中写入 java 控制台输出

java - Delaunay 三角形点连通性?

java - 如何将 .dll 导入 Android java 项目(使用 eclipse)

android - Play 商店在应用内购买产品最高限额

android - 在同一线程上打开/关闭 SQL 数据库

intellij-idea - 在不影响 vue 模板的情况下,使用 intellij 从 HTML 中的标签周围更改 'less than' 和 'greater than' 的颜色

android - 三星 Galaxy S2(4.0.3) 的共享首选项问题

java - workspace.xml 文件已损坏(第 1 行错误 : Content is not allowed in prolog) in IntelliJ, 我该如何修复?