java - 方法的调用级别

标签 java

在像 java 这样基于面向对象的编程语言中,我们可以使用 objectName.methodName() 调用对象的方法 -

aStudent.getName().equals(anotherStudent.getName()); 

这里要实现equals() 方法我必须使用两个点(.)。在某些情况下,可能会有超过 2 个点,例如 -

objectName.methodName1().methodName2().methodName3().methodName4()

我的问题是 - 这种级别的方法调用是否有任何限制?

最佳答案

没有技术限制,自写:

result = foo.bar().baz();

相当于写

bar = foo.bar();
result = bar.baz();

然而,通常存在设计限制:如果您正在访问对象的子对象的子对象的子对象,您可能会违反 Law of Demeter (和 this 文章可能会进一步澄清问题,如果您有兴趣的话。)

关于java - 方法的调用级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28635393/

相关文章:

java - 找不到 ArrayList 和我的 List<CustomType> 的消息正文编写器以及 MIME 媒体类型 application/xml?

java - Jackson 反序列化空数组失败

java - 线程中的异常 "main"java.lang.IllegalArgumentException : adding a window to a container

Java更新语句问题

java - 链表 : What to substitute for node on the last node?

java - 从系统变量值读取 logback.xml

java - Java 中的 "double, Double, HashSet"

java - macOS 10.15.4 中 Pentaho Data Integration 安装问题

java - 如何在android volley中将参数发送到json数组请求

java - 从匿名内部类引用封闭类'this