开发者社区> 问答> 正文

有关我编写的Java构造函数的问题

我正在尝试练习构造函数的工作方式,并编写了一个简单的构造函数

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}}吗?

对不起,我只是想学习的基本问题。

展开
收起
几许相思几点泪 2019-12-29 18:47:58 802 0
1 条回答
写回答
取消 提交回答
  • 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;
        } 
    }
    
    2019-12-29 18:48:21
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载