java - 有一个请求对象作为方法签名参数,它构成了所有需要的参数

标签 java

方法签名是方法声明的一部分。它是方法名和参数列表的组合。

所以我不想指定参数列表,而是想传递一个构成所有参数的请求对象。可能并非所有方法都适用,但希望尽可能尝试。

比如说

public void setMapReference(int xCoordinate, int yCoordinate)
{
  //method code
}

也可以写成

public void setMapReference(Point point)
{
  //method code
}

class Point {
  int xCoordinate;
  int yCoordinate;
  boolean isValidPoint();
}

但是调用者可能会混淆,因为他不知道这些参数..!!

这是一个好习惯吗???

最佳答案

我不会“尽可能地”这样做——但这通常是个好主意,是的。基本上,问问自己参数本身是否构成了一个连贯的单一实体:将它们放在一起并将它们视为一个单一的“事物”是否有意义?如果是这样,封装它们听起来是个好主意。如果该“事物”可以对明显的行为负责,则更好,以避免该代码存在于已经具有其他职责的类中。

编辑:请注意,我不会Point 类型具有包访问字段,如您所示:我会让它们成为具有属性的私有(private)字段,像平常一样。如果可能的话,我会尽量让它不可变。

关于java - 有一个请求对象作为方法签名参数,它构成了所有需要的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616894/

相关文章:

java - 难以从 Java 中的文本文件中删除行

java - 一旦我设置了 BufferedImage 的边界,是否可以更改它?

java - 如何高效地从客户端设备获取调试数据

java - 无法在java中从xml创建公钥对象

java - Java + Kotlin SpringBoot 项目编译失败

java - TypedArray getColor 总是返回 defValue

java - Servlet 无法获取具有正确内容类型的字符串

java - 在 pig 中写一个 udf 有点像教程

java - 双向 Netty 服务器

java - JFace TableViewer获取可见列宽