Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日食不';不认识';默认值';关键词_Java_Eclipse_Default - Fatal编程技术网

Java 日食不';不认识';默认值';关键词

Java 日食不';不认识';默认值';关键词,java,eclipse,default,Java,Eclipse,Default,我正在尝试为Java制作一个简单的解释器。 我们的老师给了我们一个代码来修改以达到我们的目标,但是Eclipse不喜欢关键字'default' 错误为“令牌上的语法错误”默认,删除此令牌 我认为这取决于我的JDK版本的java,这就是我正在使用的 我应该修改什么 编辑:我已经安装了Java8,但Eclipse不允许我将编译级别更改为1.7以上 仅在Java 8中引入的接口默认方法 下载jdk 8并在Eclipse中使用它 这是因为您使用的是JRE JavaSE-1.7: 此JRE isis

我正在尝试为Java制作一个简单的解释器。 我们的老师给了我们一个代码来修改以达到我们的目标,但是Eclipse不喜欢关键字'default'

错误为“令牌上的语法错误”默认,删除此令牌

我认为这取决于我的JDK版本的java,这就是我正在使用的

我应该修改什么

编辑:我已经安装了Java8,但Eclipse不允许我将编译级别更改为1.7以上


仅在Java 8中引入的接口默认方法

下载jdk 8并在Eclipse中使用它


这是因为您使用的是JRE JavaSE-1.7:

此JRE isis早于Java 8,其中引入了
default
关键字来定义接口方法的默认实现


到1.8来解决这个问题。

基本上,您不能使用/定义一个默认方法,,因为这些方法从java 8开始就可用(并且您的项目正在使用java7)。。。因此,您需要将项目迁移到java8

Oracle可以帮助您,请检查此处

是JDK 8中的新增部分,列表中的第三个元素

  • 默认方法允许将新功能添加到库的接口中,并确保与为这些接口的旧版本编写的代码的二进制兼容性

升级到java-8“我安装了java 8,但Eclipse不允许我将编译级别更改为1.7以上”——因为这不是java 8。名为“java8”的目录并不意味着java8实际上在其中。检查
[path to java]/jre/bin/java-version
告诉您的内容。stefano@berti-casa:/usr/lib/jvm/java-8-oracle/bin$./java-version java version“1.8.0_131”java(TM)SE运行时环境(build 1.8.0_131-b11)java HotSpot(TM)服务器虚拟机(build 25.131-b11,混合模式)我认为这是java 8,但我不确定我在Eclipse中使用它,我如何检查它?路径在第二张图片中已经可见。因此我使用的是正确版本的JRE,问题可能是JDK?@StefanoBerti您是否遵循了链接中关于如何切换JDK的说明?是的,但在编译器编译级别的选项中,我只有1.3、1.4、1.5、1.6、1.7、,没有一个。8@StefanoBerti第二个屏幕截图上的屏幕部分现在显示1.8了吗?在我上面链接的公认答案中有一个指向Eclipse的链接,您需要按照它来更改JRE。