Java基础篇之返回值

执行volume()方法确实将计算盒子体积的值返回到Box类,但这并不是最好的方法。例如,你的程序的其他部分如何知道一个盒子的体积,而不显示它的值?一个更好地实现volume()的方法是将它计算的盒子体积的结果返回给它的调用者。
下面的例子是对前面程序的改进,它正是这样做的:

// Now,volume() returns the volume of a box. 
class Box { 
 double width; 
 double height; 
 double depth; 
 // compute and return volume 
 double volume() { 
return width * height * depth; 
 } 
} 
class BoxDemo4 { 
 public static void main(String args[]) { 
Box mybox1 = new Box(); 
Box mybox2 = new Box(); 
double vol; 
// assign values to mybox1's instance variables 
mybox1.width = 10; 
mybox1.height = 20; 
mybox1.depth = 15; 
/* assign different values to mybox2's 
 instance variables */ 
mybox2.width = 3; 
mybox2.height = 6; 
mybox2.depth = 9; 
// get volume of first box 
vol = mybox1.volume(); 
System.out.println("Volume is " + vol); 
// get volume of second box 
vol = mybox2.volume(); 
System.out.println("Volume is " + vol); 
 } 
}

在这个程序中,当volume()被调用时,它被放在赋值语句的右边。左边是接收volume()返回值的变量。因此,当下面的语句执行后:

vol = mybox1.volume(); 

变量mybox1.volume ( )的值是 3,000,且该值被保存在vol中。

对于返回值的理解,要注意下面两件重要的事情:

· 方法返回的数据类型必须与该方法指定的返回类型相兼容。例如,如果一个方法的返回值是布尔型,就不可能返回整数。

· 接收方法返回值的变量 (例如本例中的变量 vol)也必须与指定方法返回值的类型相兼容。

另外一点:因为实际上不需要vol变量,前面的程序可以被写得更高效一些。

对volume( )方法的调用可以直接用在 println ( )语句中,如下面的语句:

System.out.println("Volume is " + mybox1.volume()); 

在本例中,当println ( )被执行时,mybox1.volume ( )将自动地被调用,而且它的值会被传递给println ( )。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值