Java如何实现调用Method1/Method2后链式调用get()获取对应返回值
实现方案
核心思路
- 链式调用要求前序方法返回当前类实例,所以要把原有
Method1、Method2的返回值从void改为MyClass,方法内部执行完赋值逻辑后返回this - 新增
get()方法,直接返回你需要获取的Data1字段即可
完整实现代码
public class MyClass { private String Data1; // 原代码中Data2未用到,如有对应业务逻辑可自行扩展 public MyClass Method1() { this.Data1 = "111"; // 返回当前实例支撑链式调用 return this; } public MyClass Method2() { this.Data1 = "222"; return this; } // 新增get方法返回执行结果 public String get() { return this.Data1; } }
调用验证
你预期的调用方式可正常生效:
new MyClass().Method1().get(); // 返回结果为"111" new MyClass().Method2().get(); // 返回结果为"222"
补充规范建议:如果遵循Java通用编码规范,建议变量名、方法名首字母小写,比如将
Data1改为data1、Method1改为method1,代码可读性会更好。
内容的提问来源于stack exchange,提问作者user1786639
相关产品推荐
相关产品推荐

