Hi Marcus,
yes, I'm commenting on that "The String array passed to main will shadow the one created at class level". If in the argument list to the static main method you have String[] b instead of String[] a, then the program
will not compile because the reference to a[0] is not through an object instance. So I reckon the local a in main is not really shadowing the a which is a class member. To me it seems to be not quite kosher somehow, if you get my meaning.
However, if the class member a is made static, the local a in main does properly shadow it.
On the other hand, a non-static method with String[] a as a parameter, does properly shadow the one defined in the class.
I promise, I haven't touched a drop today...
