示例1
假设此WidgetData类用于电子商务网站。程序员试图通过使用构造函数设置窗口小部件的价格来防止损强价格损强的攻击。
公共最终班级widgetdata扩展了applet {
公共浮点价格;
...
public widgetdata(...){
this.price = lookupprice(“ mywidgetType”);
}
}
价格字段不是最终的。即使该值是由构造函数设置的,也可以由可以访问widgetData实例的任何人对其进行修改。
示例2
假设以下代码旨在提供控制执行应用程序的配置文件的位置。
public String configpath =“ /etc/application/config.dat”;
public String configpath = new String(“/etc/explication/config.dat”);
尽管此字段可以从任何函数中读取,因此可能允许通路名称泄漏信息,但更严重的问题是可以通过任何函数更改它。