如何从 void 方法中获取值?
How to get value from void method?
我有一个挑战,其中包括必须实现的接口。
但是禁止在这些接口上进行更改。
public interface MatrixInterface {
void GetSize(Dimension dim);
}
并且存在具有“宽度和高度”属性的维度 class。
我想创建一个矩阵 class 并使用其他 class 中的 getsize 方法。有没有办法从 void 方法中获取值。
您可以根据维度设置矩阵属性,例如
class Matrix implements MatrixInterface {
private Integer width;
private Integer height;
void GetSize(Dimension dim) {
this.width = dim.width;
this.height = dim.height;
}
}
// Please note that this code isn't clean.
或者 Getter 实际上是 Setter。
class Matrix implements MatrixInterface {
private Dimension dimension;
void GetSize(Dimension dim) {
this.dimension = dim;
}
}
// Please note that this code isn't clean.
这很不寻常java。不寻常之处在于它是 'legal'(它编译),但它不是惯用的(惯用的 java = 以整个社区倾向于编程的方式编写,以及 java 的作者本身如何作为以及几乎所有可用的库都希望您编写。如果您无法编写惯用的 java,它可能会编译并且 运行 但代码将很难被其他人阅读 java 程序员,你会 运行 在使用其他库时遇到很多摩擦)。
事实上,这太不合常理了,到目前为止,已有 3 个人试图回答,但他们似乎没有听懂,或者他们确实听懂了,但非常震惊,以至于他们自己相信这是另外一回事。
我知道这是一门课程,所以你将不得不接受它,但很遗憾。这是可怕的 java 代码。惯例甚至规定它应该是 getSize
,而不是 GetSize
。我无法充分强调这有多糟糕。大概有人为这门课程付了钱,他们想要退钱,然后再退一些。通过遵循本课程,您对自己的阻碍可能大于对自己的帮助。中止。弹出。
关键线索是 Dimension
,假设它指的是 java.awt.Dimension
,是 可变的 。你可以改变它。他们要你做的是:
public void getSize(Dimension d) {
d.setSize(yourWidth, yourHeight);
}
这可以被调用者使用:
Dimension d = new Dimension();
matrix.getSize(d);
System.out.printf("The matrix size is [%d, %d]\n", d.width, d.height);
我有一个挑战,其中包括必须实现的接口。 但是禁止在这些接口上进行更改。
public interface MatrixInterface {
void GetSize(Dimension dim);
}
并且存在具有“宽度和高度”属性的维度 class。
我想创建一个矩阵 class 并使用其他 class 中的 getsize 方法。有没有办法从 void 方法中获取值。
您可以根据维度设置矩阵属性,例如
class Matrix implements MatrixInterface {
private Integer width;
private Integer height;
void GetSize(Dimension dim) {
this.width = dim.width;
this.height = dim.height;
}
}
// Please note that this code isn't clean.
或者 Getter 实际上是 Setter。
class Matrix implements MatrixInterface {
private Dimension dimension;
void GetSize(Dimension dim) {
this.dimension = dim;
}
}
// Please note that this code isn't clean.
这很不寻常java。不寻常之处在于它是 'legal'(它编译),但它不是惯用的(惯用的 java = 以整个社区倾向于编程的方式编写,以及 java 的作者本身如何作为以及几乎所有可用的库都希望您编写。如果您无法编写惯用的 java,它可能会编译并且 运行 但代码将很难被其他人阅读 java 程序员,你会 运行 在使用其他库时遇到很多摩擦)。
事实上,这太不合常理了,到目前为止,已有 3 个人试图回答,但他们似乎没有听懂,或者他们确实听懂了,但非常震惊,以至于他们自己相信这是另外一回事。
我知道这是一门课程,所以你将不得不接受它,但很遗憾。这是可怕的 java 代码。惯例甚至规定它应该是 getSize
,而不是 GetSize
。我无法充分强调这有多糟糕。大概有人为这门课程付了钱,他们想要退钱,然后再退一些。通过遵循本课程,您对自己的阻碍可能大于对自己的帮助。中止。弹出。
关键线索是 Dimension
,假设它指的是 java.awt.Dimension
,是 可变的 。你可以改变它。他们要你做的是:
public void getSize(Dimension d) {
d.setSize(yourWidth, yourHeight);
}
这可以被调用者使用:
Dimension d = new Dimension();
matrix.getSize(d);
System.out.printf("The matrix size is [%d, %d]\n", d.width, d.height);