当前位置: 首页 > news >正文

Java:openjdk: error: Student is abstract; cannot be instantiated;java编译环境

文章目录

编译环境

jdk

需要安装的javac 在java-devel 包里
[root@10 ~]# rpm -qf /usr/bin/javac
file /usr/bin/javac is not owned by any package
[root@10 ~]# ll /usr/bin/javac
lrwxrwxrwx. 1 root root 23 Jun 15 09:52 /usr/bin/javac -> /etc/alternatives/javac
[root@10 ~]# ll /etc/alternatives/javac
lrwxrwxrwx. 1 root root 32 Jun 15 16:51 /etc/alternatives/javac -> /usr/java/jdk-18.0.1.1/bin/javac
[root@10 ~]# rpm -qf /usr/java/jdk-18.0.1.1/bin/javac
jdk-18-18.0.1.1-ga.x86_64
[root@10 ~]# rpm -qi jdk-18-18.0.1.1-ga.x86_64
Name : jdk-18
Epoch : 2000
Version : 18.0.1.1
Release : ga
Architecture: x86_64
Install Date: Wed 15 Jun 2022 04:51:53 PM EDT
Group : Development/Tools
Size : 318287114
License : https://java.com/freeuselicense
Signature : RSA/SHA256, Mon 25 Apr 2022 04:56:36 PM EDT, Key ID 72f97b74ec551f03
Source RPM : jdk-18-18.0.1.1-ga.src.rpm
Build Date : Mon 25 Apr 2022 04:55:52 PM EDT
Build Host : java.com
Relocations : /usr/java
Vendor : Oracle Corporation
URL : http://www.oracle.com/technetwork/java/javase/overview/index.html
Summary : Java Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).
[root@10 ~]#

openjdk

[root@10 ~]# rpm -ql grep java-1.8.0-openjdk-devel-1.8.0.332.b09-2.el8_6.x86_64 | grep javac
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/bin/javac

[root@10 ~]# rpm -qa | grep java
tzdata-java-2022a-1.el8.noarch
java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64
java-1.8.0-openjdk-headless-1.8.0.332.b09-2.el8_6.x86_64
javapackages-filesystem-5.3.0-2.module+el8.3.0+125+5da1ae29.noarch
java-1.8.0-openjdk-devel-1.8.0.332.b09-2.el8_6.x86_64

[root@10 ~]# rpm -qi java-1.8.0-openjdk-devel-1.8.0.332.b09-2.el8_6.x86_64
Name : java-1.8.0-openjdk-devel
Epoch : 1
Version : 1.8.0.332.b09
Release : 2.el8_6
Architecture: x86_64
Install Date: Wed 15 Jun 2022 09:52:45 AM EDT
Group : Development/Tools
Size : 42599147
License : ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Publ ic Domain and W3C and zlib
Signature : RSA/SHA256, Sun 15 May 2022 01:38:09 PM EDT, Key ID 15af5dac6d745a 60
Source RPM : java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.src.rpm
Build Date : Sun 15 May 2022 01:03:19 PM EDT
Build Host : ord1-prod-x86build002.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : infrastructure@rockylinux.org
Vendor : Rocky
URL : http://openjdk.java.net/
Summary : OpenJDK 8 Development Environment
Description :
The OpenJDK 8 development tools.

错误代码

这个抽象的类,或者接口类不能实例化。

[root@10 ~]# cat b.java
// Your First Programabstract class Student{
}class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");Student a = new Student();}
}

src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties

90 # 0: symbol
91 compiler.err.abstract.cant.be.instantiated=
92 {0} is abstract; cannot be instantiated

小心

如果当前目录之前编译过 student类,就会生成Student.class 文件。
即使当你删除了 java文件里的Student类定义,javac还是会去找 Student.class文件来不足符号找不到的问题。

javac -verbos

显示编译过程信息
[root@10 ~]# javac -verbose b.java
[parsing started RegularFileObject[b.java]]
[parsing completed 114ms]
[search path for source files: .]
[search path for class files: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/resources.jar,/usr/li
b/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/rt.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8
6.x86_64/jre/lib/sunrsasign.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/jsse.jar,/usr/lib/
jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/jce.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8

6.x86_64/jre/lib/charsets.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/jfr.jar,/usr/lib/jvm/
java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/classes,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64
/jre/lib/ext/cldrdata.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/dnsns.jar,/usr/lib/jv
m/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/jaccess.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-
2.el8_6.x86_64/jre/lib/ext/localedata.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/nasho
rn.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/sunec.jar,/usr/lib/jvm/java-1.8.0-openjd
k-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/sunjce_provider.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86
_64/jre/lib/ext/sunpkcs11.jar,/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/jre/lib/ext/zipfs.jar,.]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Object.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/String.class)]]
[checking HelloWorld]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/Serializable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/AutoCloseable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Byte.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Character.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Short.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Long.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Float.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Integer.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Double.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Boolean.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Void.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/System.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/PrintStream.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Appendable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/Closeable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/FilterOutputStream.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/OutputStream.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/io/Flushable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/Comparable.class)]]
[loading ZipFileIndexFileObject[/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-2.el8_6.x86_64/lib/ct.sym(META-INF/sym/rt.
jar/java/lang/CharSequence.class)]]
[loading RegularFileObject[./Student.class]]
b.java:4: error: Student is abstract; cannot be instantiated
Student a = new Student();
^
[total 739ms]

相关文章:

Java:openjdk: error: Student is abstract; cannot be instantiated;java编译环境

文章目录编译环境jdkopenjdk错误代码小心javac -verbos编译环境 jdk 需要安装的javac 在java-devel 包里 [root10 ~]# rpm -qf /usr/bin/javac file /usr/bin/javac is not owned by any package [root10 ~]# ll /usr/bin/javac lrwxrwxrwx. 1 root root 23 Jun 15 09:52 /us…...

28个案例问题分析---019---临时解决方案和最终解决方案--思想

临时解决方案与最终解决方案一:背景介绍二:临时解决方案?最终解决方案?概念如何选择三:总结一:背景介绍 项目中,出现了一个线上问题。 用户登陆之后看不到课程。重新登陆就可以看到课程。出现这…...

计算机网络的166个概念你知道几个 第四部分

HTML:HTML 称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的 Internet 资源连接为一个逻辑整体。HTML 文本是由 HTML 命令组成的描述性文本,HTML 命令可以说…...

Lenovo 联想-IdeaPad-Y530电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板联想-IdeaPad-Y530处理器Intel 酷睿2双核 T9400已驱动内存2GB已驱动硬盘2TB HP EX950 PCI-E Gen3 x4 NVMe SSD已驱动显卡NVIDIA GeForce 9300M GS无法驱动声卡Realtek ALC888无法驱动网卡RTL8168H Giga…...

mac M1 nvm安装教程,避坑

mac M1 nvm 安装问题 新款的mac搭载了苹果自研的芯片,放弃了intel的x86芯片,那之前的软件难免会存在兼容性问题。 鄙人有幸踩了第一个坑。 在通过nvm 安装不同版本的node 时,出现了问题。 问题一:先说一下 nvm的安装问题&#…...

【项目精选】基于网络爬虫技术的网络新闻分析(视频+论文+源码)

点击下载源码 基于网络爬虫技术的网络新闻分析主要用于网络数据爬取。本系统结构如下: (1)网络爬虫模块。 (2)中文分词模块。 (3)中3文相似度判定模块。 (4)数据结构化存…...

【Python - Matplotlib】P2 plot 折线图

Matplotlib绘制折线图折线图完整代码与效果基础折线图设定横纵坐标设置中文显示添加网格添加描述信息再添加一个城市设置两个折线图前言 上一节内容主要围绕介绍 Matplotlib 的画板结构。 链接:https://blog.csdn.net/weixin_43098506/article/details/129331576 本…...

【Verilog】——模块,常量,变量

目录 1.模块 1.描述电路的逻辑功能 2. 门级描述 3.模块的模板​编辑 2.关键字 3.标识符 4.Verilog源代码的编写标准 5.数据类型 1.整数常量​ 2.参数传递的两种方法 3.变量 4.reg和wire的区别 5.沿触发和电平触发的区别​ 6.memory型变脸和reg型变量的区别​ 1.模块 1.描…...

论文投稿指南——中文核心期刊推荐(电影、电视艺术)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

Pip install 和Conda install 总结

版本一 conda install xxx:这种方式安装的库都会放在/Users/orion-orion/miniforge3/pkgs目录下。我们在我们的虚拟环境中要用到或下载时先到该路径下去找,若有则直接将其复制到我们的虚拟环境中包得存放位置: ~/site-packages/。若没有,则先…...

嵌入式系统实验——【玄武F103开发板】实现两个LED小灯闪烁

目录一、实验文件main.cstm32f10x.h二、实验思路(一)打开两个LED小灯1.在玄武F103开发板上找到LED0、LED1对应的GPIO控制寄存器2.找到GPIOB、GPIOE的地址3.打开APB2外设时钟的使能寄存器4.对GPIO寄存器进行设置对端口输出寄存器进行设置(二&a…...

数组之双指针题

文章目录一、最长连续不重复子序列1.题目介绍2.思路3.二、长度最小的子数组1.题目介绍2.思路3.代码三、数组元素的目标和1.题目介绍2.思路3.代码总结其实在之前我写过不少双指针得题解,刷题专练之数组移除元素 刷题专练之翻转题练习这两篇文章的题解基本就是双指针法…...

真实需求和梦想实现满足

多少的时光和岁月中都不曾认真系统的深度思考自己的真实需求和欲望之间是否一致,随着时间的流逝才发现自己追求的是一场空,自己的真实需求并不是苦苦追求的东西,这也是当梦想照进现实!欲望是无善无恶的,不必为了满足自…...

[ant-design-vue] tree 组件功能使用

[ant-design-vue] tree 组件功能使用描述环境信息相关代码参数说明描述 是希望展现一个树形的菜单,并且对应的菜单前有复选框功能,但是对比官网的例子,我们在使用的过程中涉及到对半选中情况的处理: 半选中状态: 选中…...

QT父子窗口事件传递与事件过滤器

处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现了事件方法,就直接处理掉事件了,没有进到Main…...

【2.4 golang中的循环语句for】

- 循环语句for 1. 循环语句for 1.1.1. Golang for支持三种循环方式,包括类似 while 的语法。 for循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go语言的For循环有3中形式,只有其中的一种使用分号。 for init; condition; pos…...

Windows 系统下 Apache 和 php 环境怎么搭建?

传统搭建方法在 Windows 系统下,可以通过以下步骤来搭建 Apache 和 PHP 环境:1.下载 Apache 在 Apache 官网下载最新版本的 Apache,例如下载地址为 https://httpd.apache.org/download.cgi。2.安装 Apache 将下载的 Apache 压缩包解压到某个目…...

Python基础知识——字符串、字典

字符串 在Python中,字符和字符串没有区别。可能有些同学学过其他的语言,例如Java,在Java中,单引号’a’表示字符’a’,双引号"abc"表示字符串"abc",但在Python当中,它们没…...

JVM常用指令

JVM常用指令1.准备工作2.jps3. jconsole4.jstat5.jstack6.jmap7.jvisualvm工具8.自动dump内存信息1.准备工作 在idea中编写代码 public class JVMTest {Testpublic void test() throws InterruptedException {while (true) {Thread.sleep(1000);System.out.println(123);}} }…...

排序中常见的一些指标

1、错误率与精度 错误率与精度是分类任务中最常用的两种性能度量,错误率是指分类错误的样本占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。 错误率: 精度: 2、准确率/召回率/FScore True Positive(真正例, TP)&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...