This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I agree it seems a bit odd, since the array is an object. But the thing is that an array has fixed length, which means that the size of the array can be calculated when its created, and the size is therefore set in the length variable.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
When we declare/create an array, we also give the size of the array at that time, note that you never use an array untill you have its size already specified someway or the other, However in the case of a String the size may change ( note that you can perform :
here you are trying to increase the current size of the string. However something of this type is not allowed in an array. So the length of an array is a property "length"(the fixed length) however in case of a String its a method(method that does the work of counting all the characters in that String.