I tried to find a solution for this through many sources. But in vain. I have 3 2D array objects:
double[][] W1 = new double[5][10];
double[][] W2 = new double[2][3];
double[][] W3 = new double[4][6];
and I want another array object to contain those 3 array objects. How do I do it?
I found that it is possible to make many 1D arrays to an array of 2D arrays using the following
double[][] W = new double[][]{W1, W2, W3}; //provided W1, W2, W3 are 1D arrays.
But how do I do the same for 2D arrays?

double[][][] W = {W1, W2, W3};Wis not an array of 2D arrays, it is a 1D array of 1D arrays, also known as a 2D array. Similarly, it sounds like you don't really want a 2D array of 2D arrays, you actually want a 3D array that's initialized with 3 2D arrays. In either case, the end result is just a single array.