This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
The problem is that the method m2 is declared to return a byte yet it actually returns a char. A char is a 16 bit unsigned number and a byte is an 8 bit signed number so a char doesn't fit into a byte.
One solution is to declare the method m2 to return a char.