【发布时间】:2012-12-17 13:31:38
【问题描述】:
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();
}
}
在经历了这个之后,我预计上面的代码也会产生编译时错误,考虑到 12 是 int 字面量,myMethod() 的返回类型是字节。但是不会发生这样的错误。 (不需要显式转换:return (byte)12;)
谢谢。
【问题讨论】:
标签: java methods casting return-type