黑马程序员技术交流社区
标题:
返回类型与设定变量类型不符合,编译通过,为什么?
[打印本页]
作者:
Se7en_Liu
时间:
2014-10-9 08:53
标题:
返回类型与设定变量类型不符合,编译通过,为什么?
因为操作失误,将返回类型写成了double,变量设定的是int,但是编译通过了,详见代码,什么原理??
class Rectangle implements AreaMethod
{
private int len,wid; //设定的变量类型为int
Rectangle(int len,int wid)
{
if (len<=0 || wid<=0)
{
throw new WrongException("出现非法值");
}
this.len = len;
this.wid = wid;
}
public double getArea() //误将返回类型写成了double,可是编译通过了。。。。。
{
return len*wid;
}
}
class Demo
{
public static void main(String[] args)
{
Rectangle r = new Rectangle(4,5);
System.out.println(r.getArea());
}
}
[b][/b]
复制代码
作者:
张波
时间:
2014-10-9 09:00
len*wid得到的值为int型, int型值可以赋值给double型,原因是int型占四个字节,double型占八个字节, int型自动升级了
作者:
不系之舟王
时间:
2014-10-9 09:12
自动类型转换
作者:
Se7en_Liu
时间:
2014-10-9 10:56
张波 发表于 2014-10-9 09:00
len*wid得到的值为int型, int型值可以赋值给double型,原因是int型占四个字节,double型占八个字节, int ...
:),理解了。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2