java - 为什么这个常量声明在 Java 中不起作用?
问题描述
我是Java的初学者,在将常量声明为公共时遇到问题,在一些书中搜索了一段时间后,我创建了这个非常简单的程序:
package course1;
public class Circle
{
public static void main(String[] args)
{
public static final double QUARTER_VALUE = 0.25;
System.out.println(QUARTER_VALUE);
}
}
我收到以下错误消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Illegal modifier for parameter QUARTER_VALUE; only final is permitted
at course1.Circle.main(Circle.java:7)
问题出在这一行:
public static final double QUARTER_VALUE = 0.25;
当我悬停这一行时,我收到了以下消息:
illegal modifier for parameter QUARTER_VALUE; only final is permitted
我不明白为什么,按照我的书这应该可行。
解决方案
方法变量的作用域只是那个方法,所以你不需要显式地指定作用域。直接在方法中声明的变量是局部变量。不能将局部变量声明为公共变量。事实上,你可以在局部变量声明中使用的唯一修饰符是 final
变量情况下的访问修饰符仅适用于类成员,不适用于方法(局部)变量。
推荐阅读
- excel - 从相乘值中识别最小值
- angular - 角度 6,带有 http Post 服务的嵌套参数
- spring - Thymeleaf 异常,试图将 .png 解析为模板
- linux - getuid/geteuid 奇怪的行为
- mysql - MySQL 假设部分 `pwrite()` 意味着磁盘已满
- javascript - 处理没有php的php数组
- swift - 从 Firebase 数据库中删除 - Swift
- gradle - swagger-codegen gradle 插件生成的构建(子)项目
- python - 快速将 xml 转换为 json xml(避免 CPU 使用 100 并减少 RunTime)
- jboss7.x - 引起:javax.persistence.PersistenceException:无效的persistence.xml。找不到元素“持久性”的声明