在像 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/