class MyClass {
void myMethod(byte b) {
System.out.print("myMethod1");
}
public static void main(String [] args) {
MyClass me = new MyClass();
me.myMethod(12);
}
}
myMethod()引数がintリテラルであり、パラメーターbがバイト型であるため、このコードはコンパイル時エラーを生成することを理解しています。(これは、引数に明示的なバイト キャストを使用することで回避できます: myMethod((byte)12))
class MyClass{
byte myMethod() {
return 12;
}
public static void main(String [ ] args) {
MyClass me = new MyClass();
me.myMethod();
}
}
intこれを経験した後、12 がリテラルで戻り値の型myMethod()がバイトであることを考慮すると、上記のコードでもコンパイル時エラーが発生すると予想しました。しかし、そのようなエラーは発生しません。(明示的なキャストは必要ありません: return (byte)12;)
ありがとう。