Java代码编写Helloworld程序运行失败

img


不理解为什么会出现这个错误,都是按照讲师操作的,为什么会说安装出错呢,谁能教教我?

这个情况大概是你之前就装了一个JDK8,然后后面又装了一个JDK9并且配置了环境变量,但是之前安装JDK8默认添加的环境变量路径你并没有删除。

编译的 jdk版本(主版本号 53 ) 和 运行的 jdk 版本(主版本号 52)不匹配

52 对应 jdk 8
53 对应 jdk 9

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7505916
  • 这篇博客也不错, 你可以看下Java之泛型 再学习 为什么泛型会报错?为什么需要包装类?为什么又要有基本数据类型?
  • 你还可以看下java参考手册中的 java-国际化 - 介绍如何设计软件,使其能够轻松适应(本地化)各种语言和地区。-隔离特定于本地的数据显示了如何动态地访问随地域变化的对象。-自定义资源包加载
  • 除此之外, 这篇博客: Java 基础面试题整理~持续更新中的 19、什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 序列化:把Java对象转换为字节序列的过程。
    • 反序列化:把字节序列恢复为Java对象的过程。

    对象的序列化主要有两种用途:

    • 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;(持久化对象)
    • 在网络上传送对象的字节序列。(网络传输对象)

    Serializable 接口
    一个对象想要被序列化,那么它的类就要实现此接口或者它的子接口。
    这个对象的所有属性(包括private属性、包括其引用的对象)都可以被序列化和反序列化来保存、传递。不想序列化的字段可以使用transient修饰。
    由于Serializable对象完全以它存储的二进制位为基础来构造,因此并不会调用任何构造函数,因此Serializable类无需默认构造函数,但是当Serializable类的父类没有实现Serializable接口时,反序列化过程会调用父类的默认构造函数,因此该父类必需有默认构造函数,否则会抛异常。

  • 您还可以看一下 汤小洋老师的手把手搭建Java学生信息管理系统【附源码】(毕设)课程中的 课程概述小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    对于Java编写Hello World程序的安装错误,需要进一步了解出现错误的具体情况和错误提示,才能进行针对性解决。以下是一些可能的解决方案:

    1. 确认Java版本和操作系统:首先需要确定使用的Java版本和操作系统, Java可以在各种操作系统上运行,但需要选择对应版本的Java开发包进行安装,否则可能会出现兼容性问题。Windows系统下,可以在控制面板中的Java设置中查看安装的Java版本。

    2. 检查Java安装:按照官方指南正确安装Java开发包,可参考官方文档,按照步骤进行下载和安装。若已安装Java并且版本正确,可以检查JAVA_HOME环境变量是否设置正确,并且加入PATH变量中。

    3. 检查代码:检查编写的Hello World程序是否语法正确,是否存在错误。可以在命令窗口中运行javac命令进行编译,也可以在eclipse等集成开发环境中运行,确保代码可以顺利运行。

    4. 检查错误提示:根据错误提示,进行更加具体的排查,将错误提示输入搜索引擎中,查找相关解决方案。

    如果以上解决方案均不奏效,可以在错误提示和具体情况的基础上进行更加精细化的解决方案排查。

环境变量设置有问题导致javac和java不是同一个大的版本,且java的版本要低于javac的版本,所以不能解释执行类文件