最近在做android程序的开发,大家都知道android程序使用的是java语言,所以在开发过程中一个要按照java语言书写规范进行编码。
由于本人的入门编程语言是C语言,便养成了编码随意的坏毛病。所以今天遇到了一个本质很简单,但是却耗费了我很长时间才解决的问题:在类中/方法外,书写了操作语句。
众所周知,java是纯面向对象的编程语言,所以程序的实现都是基于一个个的类。类中有两大部分,一部分是变量的声明,一部分是方法的实现。而错误往往发生在类变量的赋值上,因为类变量的赋值操作并非是简简单单一个等号就可以解决的,而是用其封装的方法进行赋值,如果赋值操作是在方法外的,那么程序编译就会报错。下面来举例说明之。
如果这样写,程序在编译过程中就会报错:
public class a
{
//变量声明部分
int a = 4 ;
Paint paint = new Paint();
paint.setColor(Color.BLUE);
//方法声明部分
public void b()
{
//...
};
}
我们看到:“paint.setColor(Color.BLUE);”语句发生了错误,原因就是这是一条操作语句,而它并没有在方法中,所以程序报错,报错信息如下:
Multiple markers at this line
- Syntax error on token "setColor", Identifier expected after this
token
- Syntax error on token ".", ... expected
如果经过如下修改(将报错的语句放入到方法b中),则可以通过编译:
归根结底是java语言掌握的不够牢固所致,我们以前用惯了C语言,声明完变量后就想对其进行赋值,殊不知赋值语句在方法外是一种错误的写法,我们可以在类中书写一个init()方法,做为声明变量的初始化。
很傻很天真的一个错误,写出来的目的是给自己做一个警惕,如果能给读者你一些启示那便是再好不过的事情啦,大家一起加油。