Merge Sort Java Implementation
Be consistent with your formatting. Sometimes you have a space between keywords like if and else and the opening parenthesis and the closing parenthesis and the opening brace, sometimes not. Pick one (I prefer a space) and stick with it. I also put spaces around all binary operators: data.length / 2 to match i &lt; res.length. Again, consistency helps readability.
The data passed to the constructor is ignored; remove it.
Can you come up with more readable names for arr1 and arr2? Perhaps left and right (even though that may be misleading and is still arbitrary) will be easier to read than spotting 1 vs. 2 in a name.
In merge I think using while (j &lt; arr1.length &amp;&amp; k &lt; arr2.length) instead of for is more readable. It also allows you to move the "copy the rest of the non-empty array onto the end" logic out of the loop and avoid using break.
Don't create a result array in main before calling sort--it's thrown away immediately.