06-05
15
面向对象 与 静态static
作者:Java伴侣 日期:2006-05-15
子程序:
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.它们提供了防止打字错误的保护。
复制内容到剪贴板 程序代码
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.它们提供了防止打字错误的保护。
评论: 0 | 引用: 0 | 查看次数: 777
发表评论