【构造方法的参数】

握草 2017-11-21 10:50:13
package test;

import java.util.Random;

class Move {
int[] arr;

public Move(int[] arr) {
this.arr = arr;
}

private void moveBit(int[] arr) {
// this.arr=arr;
int tmp = arr[arr.length - 1];
for (int i = arr.length-1;i>0;--i) {
arr[i] = arr[i - 1];
}
arr[0] = tmp;
}

public void show() {
moveBit(arr);
}

public void print(int[] arr) {
// this.arr=arr;
for (int i = 0; i < arr.length; ++i) {
System.out.print(arr[i] + " ");
}
System.out.println();
}

}

public class MainClass{
public static void main(String[] args) {
Random ran = new Random();
int length = ran.nextInt(12)+1;
int[] arr = new int[length];
for(int i=0;i<arr.length;++i) {
arr[i]=ran.nextInt(8);
}
Move mov = new Move(arr);
for (int i = 0; i < arr.length; ++i) {
System.out.println("第" + (i + 1) + "次测试:");
mov.print(arr);
mov.show();
}
}
}


这里,把MainClass类的arr作为参数传到Move的构造方法里面,是不是相当于把构造方法的参数去掉然后把每个调用的方法加上this. arr=arr?
可否这样理解:构造方法的参数的传入目的就是简化书写,因为一旦对象被创建就会有一个参数并分配一定的方法可见权——如果只是使用默认无参数的构造方法,ji
...全文
146 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
李德胜1995 2017-11-21
  • 打赏
  • 举报
回复
又他妈是你

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧