IDEA--->Error:java: 无效的源发行版: 13

问题:
Information:java: Errors occurred while compiling module ‘day02-oop-demo’
Information:javac 1.8.0_231 was used to compile java sources
Information:Module “day02-oop-demo” was fully rebuilt due to project configuration/dependencies changes
Information:2022/9/25 15:38 - Build completed with 1 error and 0 warnings in 2 s 769 ms
Error:java: 无效的源发行版: 13
翻译过来是:
信息:java:编译模块“day02 oop demo”时出错
信息:javac 1.8.0_231用于编译java源代码
信息:由于项目配置/依赖项更改,模块“day02 oop demo”已完全重建
信息:2022/9/25 15:38-生成完成,在2 s 769 ms内出现1个错误和0个警告
错误:java:无效的源发行版: 13
原因是你的JDK版本低于你要实现的功能
我出错的原因是我的jdk是8的版本,接口不允许使用私有方法
在JDK9开始支持的私有方法且必须在接口内部才可以访问

package com.tjrac.d13_interface_jdk8;

public interface SportManInter {
    /*
        1、JDK8新增:默认方法(实例方法)
        -- 必须default修饰,默认public
        --默认方法,接口不能创建对象,接口被实现类实现后调用只能用:实现类对象.默认方法
     */
    default void run(){
        System.out.println("跑得快");
        //hhh();
    }
    /*
        2、静态方法
        -- 必须static修饰,默认public
     */
    static void study(){
        System.out.println("我们都在学习");
    }
    /*
        3、JDK9开始支持的私有方法
        必须在接口内部才可以访问
     */
    //private void hhh(){
    //    System.out.println("笑哈哈");
    //}
}

class PingPongMan implements SportManInter{
}

class Test{
    public static void main(String[] args) {
        PingPongMan man = new PingPongMan();
        man.run();

        SportManInter.study();//接口名直接调用接口的静态方法
        //man.study();//不能用实现类的对象来调用
    }
}

解决方法:

第一步
打开Setting,选择自己用的版本
请添加图片描述
第二步
在file找到Project Structure
在这里插入图片描述
第三步
在Project Structure里找到Modules(模块),然后选择当前出现问题的那个模块,在sources里选择和刚刚版本一样的版本。
在这里插入图片描述
最后重新运行程序就行了,不需要重启IDEA

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值