in my other post (accidently posted the same topic, btw)Ahmed mentioned that byte casting works only for declarartions. This prompted me to search the web for related issue. and I got this. ----- please read http://java.sys-con.com/read/37817.htm
It says that integers wont be implicitly cast to a byte, short or char even if in the acceptable range, for methods or constructors to make sure that overloading with int, byte, short etc works as expected.