Camera camera=Camera.open(); //that's Right,but if you write separately, it's wrong
Camera camera;
camera=Camera.open();
//reason: Syntax error on token ";", , expected
Button btn1;
btn1.setOnClickListener(new OnClickListener(){
boolean sum=true;
Camera camera; //Syntax error on token ";", , expected
camera=Camera.open();
Parameters parameter;
public void onClick(View V)
{
if(sum)
{
camera.startPreview();
parameter=camera.getParameters();
parameter.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameter);
}
else
{
//camera.stopPreview();
parameter=camera.getParameters();
parameter.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameter);
}
sum=!sum;
}
});
答案 0 :(得分:3)
camera=Camera.open();
是一个赋值语句。语句只能出现在方法中。 camera=Camera.open();
在方法外部无效,原因相同System.out.println("Hello");
在方法外无效。
Camera camera;
是一个字段声明。它们只能出现在类和外部方法中。它们与赋值语句完全不同。
Camera camera = Camera.open();
是一个具有默认值的字段声明。就语言而言,它仍然与赋值语句完全不同。它相当于将字段声明为Camera camera;
,然后在构造函数中分配camera = Camera.open();
。