我先解释一下题意,现在要设计一个容器类(intArray2),这个容器的本质就是一段数组(暂且只装int值),这个数组可以的索引可以根据使用者传入的数据多少而自动增长,而自动产生新数组覆盖以前的,那么我的疑问就是如下这个....为什么构造方法要像第二图里那么写,而不能照我想的第一张图里的写
我觉的应该如此写(编译通过,运行报错,失败):
正确的写法,为什么要这么写两个:
测试代码,实参传或不传,传什么值,都不影响结果,为什么:
我先解释一下题意,现在要设计一个容器类(intArray2),这个容器的本质就是一段数组(暂且只装int值),这个数组可以的索引可以根据使用者传入的数据多少而自动增长,而自动产生新数组覆盖以前的,那么我的疑问就是如下这个....为什么构造方法要像第二图里那么写,而不能照我想的第一张图里的写
我觉的应该如此写(编译通过,运行报错,失败):
正确的写法,为什么要这么写两个:
测试代码,实参传或不传,传什么值,都不影响结果,为什么:
第一个,以为save这个变量在定义的时候,还没有被初始化,而你在下面构造函数里面的save = new int[save.length],中括号里面的save并没有具体的内容,所以是不对的。
第二个,定义了两个构造函数,他们是没有冲突的,你还可以定义第三第四五六七八九十十一个,只要他们的参数个数或顺序不同就行了。
第三个,上面已经解释了,他们是不同的构造函数,不传参数,调用的是无参构造函数(类默认就有的的),你传来参数,调用的就会是对应的构造函数。这样。