import java.util.Random;

class Ideone {
	public static void main (String[] args) {
		Data a = new Data(0),
			b = new Data(0),
			c = new Data(0);
		Data[] abc = {a, b, c}; //copied reference as value
		Random rand = new Random();
		for(Data d : abc) {
			d.i = rand.nextInt(10); //updating value at reference
			System.out.printf("d = %s\n", d);
		}
		System.out.printf("a = %s, b = %s, c = %s\n", a,b,c);//updated
	}
}

class Data {
	int i;
	public Data(int i) {
		this.i = i;
	}
	@Override
	public String toString() {
		return Integer.toString(i);
	}
}