06-05
15

面向对象 与 静态static

子程序:

class Zebra extends Mammal
{
staticprivate final double KGS_TO_LBS=2.2   //千克与镑的转换
private double weightKg;
public double getWeightKg()
{
  return weightKg;
}
public double getWeightLbs()
{
  return weightKg*KGS_TO_LBS;
}
}


     常数KGS_TO_LBS。它是静态的,相当于常量。因为它的值对这个类的所有实例来说始终相同,没必要给每个实例都分配它自己的非静态副本。它是私用的,因为它只有在这个类种得到使用。它是终结的,因为它的值在任何条件瞎都决不应该改变。常数需要一点额外的打字工作量,但它们是完全值得我们做这点额外努力,原因我3个:

1.它们解释它们做什么,阅读这段代码的人,尤其是没有看出2.2是千克-磅转换因子的人将立即明白KGS_TO_LBS常数的用途。

2.它们消除了查找或记住转换因子和类似值的需要。

3.它们提供了防止打字错误的保护。


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 静态 static
相关日志:
评论: 0 | 引用: 0 | 查看次数: 777
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭