java 局部变量不能加访问权限修饰和static,能加final

在局部变量的前面,例如{}代码快,或者方法的{}内加如上修饰符。
Java报错:
Modifier ‘private‘ not allowed here
Modifier ‘protected‘ not allowed here
Modifier ‘public‘ not allowed here
Modifier ‘static‘ not allowed here

原因:
访问局部变量的过程:对象-> 方法->局部变量。访问局部变量就已经有了访问权限的设定了。由此加修饰符也成了摆设。
对应static来说,因为static只能修饰成员变量和成员方法,在局部变量中用static修饰,又不能直接被类调用,而static关键字修饰的 变量 / 方法,就是可以不直接用对象而用类就可以直接调用的,所以局部变量前不能加static关键字。
对于final关键字来说,只是控制值不能修改.

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用不同修饰符的变量的示例,以说明它们之间的区别: ```java public class Example { // 静态变量 public static int staticVariable = 10; // 静态常量 public static final int STATIC_FINAL_VARIABLE = 20; // 实例变量 public int instanceVariable = 30; // 实例常量 public final int FINAL_VARIABLE = 40; public void method() { // 局部变量 int localVariable = 50; System.out.println("静态变量:" + staticVariable); System.out.println("静态常量:" + STATIC_FINAL_VARIABLE); System.out.println("实例变量:" + instanceVariable); System.out.println("实例常量:" + FINAL_VARIABLE); System.out.println("局部变量:" + localVariable); } } ``` 在上面的示例中,我们创建了一个名为`Example`的类,并定义了不同类型的变量。 - `staticVariable`是一个静态变量,它属于类级别,可以通过类名直接访问。所有该类的实例共享相同的静态变量。 - `STATIC_FINAL_VARIABLE`是一个静态常量,它也属于类级别。一旦被赋值,其值无法修改。所有该类的实例共享相同的静态常量。 - `instanceVariable`是一个实例变量,它属于对象级别,每个对象都有自己的实例变量。 - `FINAL_VARIABLE`是一个实例常量,它属于对象级别。一旦被赋值,其值无法修改。 - `localVariable`是一个局部变量,它只在方法中可见,并且在方法执行完毕后被销毁。 在`method`方法中,我们打印了不同类型的变量的值。 总结: - `static`用于创建类级别的变量,所有实例共享。 - `final`用于声明常量,一旦赋值后不能再修改。 - `static final`用于声明类级别的常量,所有实例共享,一旦赋值后不能再修改。 - 实例变量和实例常量属于对象级别,每个对象都有自己的副本。 - 局部变量只在方法中可见,方法执行完毕后被销毁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值