我正在尝试练习构造函数的工作方式,并编写了一个简单的构造函数
arrtest2 shirley = new arrtest2(arrtest2.b);
其中arrtest2是一段代码,用于将二维数组中的整数加倍。
package christmas;
public class arrtest2 {
static int[][] b={{10,20},{30,40}};
public arrtest2(int[][] a) {
for(int i = 0; i < 2; i++) {
for (int j = 0 ;j<2; j++) {
a[i][j] = a[i][j]*2;
System.out.println(a[i][j]);
System.out.println(a[i][j]);
}
}
}
}
代码运行。
但是我不明白的是我创造的叫做雪莉的“东西”是什么。我知道它是一个构造函数,但是它是什么?...它是一个对象还是一个数组,还是两者都存在。如果它是一个数组,我可以再次使用它吗……例如,Shirley = {{20,40},{60,80}}吗?
对不起,我只是想学习的基本问题。
shirley是您的类arrtest2的实例(顺便说一句,类名约定是驼峰式-可以使用ArrTest2来命名)。
在这种情况下,您有一个期望使用多维数组的构造函数-int [] []。这意味着,如果不将该数组作为参数传递,则无法创建arrtest2实例。
我修改了一些代码,以接收数组作为参数,应用更改并将其分配给内部数组。然后,您可以使用评估器getArray()检索修改后的数组。
希望它有助于阐明如何使用构造函数参数。
public class ArrTest2 {
static int[][] b = {{10,20},{30,40}};
public arrtest2(int[][] a) {
for(int i = 0; i < 2; i++) {
for (int j = 0 ;j<2; j++) {
b[i][j] = a[i][j] * 2;
System.out.println(a[i][j]);
System.out.println(b[i][j]);
}
}
}
public int[][] getArr() {
retun b;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。