【发布时间】:2012-12-19 18:20:56
【问题描述】:
我将简单的类添加到我的应用程序中:
public class Nomenklatura implements Serializable
{
private Boolean SmenaIsOpen=false;
public Nomenklatura()
{
SmenaIsOpen=false;
}
public String OpenSmena()
{
SmenaIsOpen=true;
return "ok";
}
public String CloseSmena()
{
return "ok";
}
public Boolean GetSmenaIsOen()
{
return SmenaIsOpen;
}
public void SetSmenaIsOen(Boolean val)
{
SmenaIsOpen=val;
}
}
应用程序应该使用这个类的一个对象。 当我在活动中使用它时:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.presmena);
Nomenklatura Asortiment;
Asortiment=(Nomenklatura) getIntent().getExtras().getSerializable("Nomenklatura");
Button but1=(Button) findViewById(R.id.button1);
but1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
if(Asortiment.GetSmenaIsOen()) Asortiment.CloseSmena();
else Asortiment.OpenSmena();
}
});
}
我收到错误:无法在不同方法 Presmena.java 中定义的内部类中引用非最终变量 Asortiment。 帮助理解,有什么问题
【问题讨论】:
-
最终确定:
final Nomenklature Asortiment = (Nomenklatura) .... -
请尊重 Java 命名约定。变量以小写字母开头。方法也一样。另请阅读这篇文章:stackoverflow.com/questions/11185321/…