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