因为这样写就是错的!首先,你的return用法就用错了,其次,final int age = 22这是在声明一个变量age,它的值是22,你可以返回他的值(如 return age),也可以利用他的值参与到某表达式的运算,但是不能返回声明语句!
return的用法如下:
return XXX;//XXX可以是某方法的引用、可以是一个表达式、也可以是一个引用的值
eg:
1、返回值引用
public int test1(){
final int age = 22;
return age;
}
2、返回表达式结果
public boolean test2(){
final int age = 22;
return age ==22;//利用age参与到表达式运算,并返回表达式运算结果
}
看书~~~
在Java中,变量声明和初始化应该在方法体或代码块中进行,而不是直接作为类的成员变量进行声明和初始化。在你的代码中,final int age = 22;
直接在类中进行了声明和初始化,这是不允许的,因此编译器会报错"非法的表达式开始"。
要解决这个问题,你可以将变量声明和初始化放在方法体中,或者在构造方法中进行声明和初始化。下面是修改后的示例代码:
public class Example {
public void someMethod() {
final int age = 22;
// 其他代码
}
public Example() {
final int age = 22;
// 其他代码
}
}
请注意,如果你想在类中使用一个常量(不会改变的值),可以使用static final
修饰符来声明该变量,并在类的成员变量位置初始化。这样的常量将在类加载时进行初始化,并且可以在整个类中使用。但是,如果你的目标是在方法内部声明和初始化一个局部变量,你需要将其放在方法体或代码块中。