当前位置: 首页 > 编程笔记 >

java编译后的文件出现xx$1.class的原因及解决方式

公羊安怡
2023-03-14
本文向大家介绍java编译后的文件出现xx$1.class的原因及解决方式,包括了java编译后的文件出现xx$1.class的原因及解决方式的使用技巧和注意事项,需要的朋友参考一下

java编译后的文件名字带有$接数字的就是匿名内部类的编译结果,接名字的就是内部类的编译结果

例如:

TestFrame$1.class是匿名内部类的编译结果,TestFrame$MyJob.class则是内部类MyJob编译后得到的.

使用内部类可以隐藏一些实现的细节, 等等, 还有其他一些好处. 使用匿名类的时候, 要注意代码的可读性

补充知识:JNI之javah使用时报错:找不到类文件

初学java,想使用JNI,在用javah生成头文件时,总是报错找不到类;

看了javah的help,本来是很简单的,但是由于自己概念含糊,所以出错。

javah的命令行帮助:

用法:javah [选项] <类>其中 [选项] 包括:

-help 输出此帮助消息并退出

-classpath <路径> 用于装入类的路径

-bootclasspath <路径> 用于装入引导类的路径

-d <目录> 输出目录

-o <文件> 输出文件(只能使用 -d 或 -o 中的一个)

-jni 生成 JNI样式的头文件(默认)

-version 输出版本信息

-verbose 启用详细输出

-force 始终写入输出文件使用全限定名称指定 <类>(例如,java.lang.Object)。

假如有这样的类:

package mwic32; 
public 
class Main { 
  
  public native String GetICSN( int CommPort); 
  static
  { 
    System.loadLibrary("MwIc32.dll"); 
  }   
 
  public static void main(String[] args) 
  { 
    // TODO code application logic here
   } 
} 

假如项目目录是:F:/NetBeansProjects,那么编译后生成的class文件会位于F:/NetBeansProjects/MwIC32/build/classes/mwic32现在希望用JAVAH生成头文件。

javah -classpath F:/NetBeansProjects/MwIC32/build/classes mwic32.Main

也就是说,指定类的路径时,应该以包所在路径为准,而不是具体类所在的子目录

以上这篇java编译后的文件出现xx$1.class的原因及解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍java 出现NullPointerException的原因及解决办法,包括了java 出现NullPointerException的原因及解决办法的使用技巧和注意事项,需要的朋友参考一下 java 出现NullPointerException的原因及解决办法 日常开发过程中,最常见的异常莫过于NullPointerException,之前的时候,只是知道去找到报错的位置,然后去解决

  • 本文向大家介绍浅谈vue在html中出现{{}}的原因及解决方式,包括了浅谈vue在html中出现{{}}的原因及解决方式的使用技巧和注意事项,需要的朋友参考一下 原因: 浏览器渲染机制,解析html结构 -> 加载外部脚本和样式表文件 -> 解析并执行脚本代码 -> 构造html dom模型 -> 加载图片等外部文件 -> 页面加载完毕。 初始化vue的js写在页面底部,也就是最后才执行js脚本

  • 本文向大家介绍Java String.replace()方法"无效"的原因及解决方式,包括了Java String.replace()方法"无效"的原因及解决方式的使用技巧和注意事项,需要的朋友参考一下 首先我们来看个例子 运行结果是什么呢?我们先看看这个方法的api 返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar 所以这里的结果为:输出结果是abcd 而不是fbcd,

  • 本文向大家介绍详谈php ip2long 出现负数的原因及解决方法,包括了详谈php ip2long 出现负数的原因及解决方法的使用技巧和注意事项,需要的朋友参考一下 php提供了ip2long与long2ip方法对ip地址处理。 1、ip2long — 将一个IPV4的字符串互联网协议转换成数字格式 int ip2long ( string $ip_address ) 参数: ip_addres

  • 本文向大家介绍MySQL 出现错误1418 的原因分析及解决方法,包括了MySQL 出现错误1418 的原因分析及解决方法的使用技巧和注意事项,需要的朋友参考一下 MySQL 出现错误1418 的原因分析及解决方法 具体错误:  使用mysql创建、调用存储过程,函数以及触发器的时候会有错误符号为1418错误。 ERROR 1418 (HY000): This function has none

  • 本文向大家介绍centos下file_put_contents()无法写入文件的原因及解决方法,包括了centos下file_put_contents()无法写入文件的原因及解决方法的使用技巧和注意事项,需要的朋友参考一下 centos下file_put_contents()无法写入文件的原因是没有文件夹权限 直接修改目标文件夹/文件 # chmod 777 文件夹名称 以上这篇centos下fi