java为什么不在构造函数中调用短数据类型
public class Overloaded {
Overloaded(byte i) {
System.out.println(" con 1 is called ");
}
Overloaded(short j) {
System.out.println(" con 2 is called ");
}
/*
* Overloaded(int n) {
*
*
* System.out.println(" con 3 is called ");
*
*
* }
*/
/*
* Overloaded(long m) {
*
* System.out.println(" con 4 is called ");
*
*
* }
*/
/*
* Overloaded(float m) {
*
* System.out.println(" con 5 is called ");
*
*
* }
*/
public static void main(String[] t) {
Overloaded o = new Overloaded(127);
}
}
错误:可能存在从int到short的有损转换
# 1 楼答案
以上代码不会产生错误。 它宁愿显示一个输出,即con 3。 短类型可以在构造函数中调用。 把它打短
# 2 楼答案
表达式
127
不是类型short
,而是类型int
如果希望有
short
类型的表达式,请使用(short) 127
,如中所示:那么你的例子就行了