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;
)
ありがとう。