当前位置:编程学习 > JAVA >>

关于class文件的问题

最近做了个实验,是将一个系统内的某个class文件替换为自己调用源代码而创建出的class文件,但是结果系统却报错了,这是为什么?求指导 --------------------编程问答-------------------- 主要是2个原因
原因1:你的jdk版本不匹配
原因2:你写的代码运行时报错 --------------------编程问答-------------------- 比如说,我有一个Cloning类,我简单写了一个test类,

public class Test {
public static void main(String[] args){
Cloning cloning = new Cloning();
System.out.println(cloning.toString());
}
}
但是原系统中肯定不是这么调用的,我想知道这个程序运行出来的cloning.class与原系统的cloning.class是一样的吗? --------------------编程问答-------------------- 也不说什么错
也不说替换掉的“系统”指的是什么系统 --------------------编程问答-------------------- 错误时导致我的软件系统无法正常运行。。要是详细说的话,那可就麻烦了 --------------------编程问答--------------------
引用 2 楼 jiangjunxian 的回复:
比如说,我有一个Cloning类,我简单写了一个test类,

public class Test {
public static void main(String[] args){
Cloning cloning = new Cloning();
System.out.println(cloning.toString());
}
}
但是原系统中肯定不是……


你自己随便写个怎么可能行呢。。。
你写的跟人家只是同名而已,不知道原先的内容肯定不行的。。。
再说你自己不把问题描述的详细点别人怎么帮你。。。 --------------------编程问答-------------------- 这是想把“系统”的class换成自己的,然后在自己的class中作一些“特殊”的处理??? --------------------编程问答--------------------
引用 4 楼 jiangjunxian 的回复:
错误时导致我的软件系统无法正常运行。。要是详细说的话,那可就麻烦了

你当这论坛里的都是神仙啊?一句报错了,就帮你解决了 --------------------编程问答-------------------- 我的意思是在我的软件系统中有一个文件cloning.class,他是一个在web上被调用的action,但是现在呢,我将他的源代码cloning.java拿出来到eclipse中运行,
public class Test {
public static void main(String[] args){
Cloning cloning = new Cloning();
System.out.println(cloning.toString());
}
}
用这个Test类来生成一个cloning.class;我的问题是:这两个class有区别么?如果有区别的话,我该怎么做才能生成一个与原来软件系统中一样的cloning.class,多谢指导!! --------------------编程问答--------------------
引用 8 楼 jiangjunxian 的回复:
我的意思是在我的软件系统中有一个文件cloning.class,他是一个在web上被调用的action,但是现在呢,我将他的源代码cloning.java拿出来到eclipse中运行,
public class Test {
public static void main(String[] args){
Cloning cloning = new Cloning()……

要生成class,javac编绎一下就出来了。假如你的拿到的“源码”是真的,编出来的class文件就是一样的,前提是jdk版本和原来的相同,而且cloning.java中没有引用其它未知的类 --------------------编程问答-------------------- 比如说cloning.java的路径为F:\WorkSpace2\DemoClass\src\sapphire\custom\lifesci\construct\cloning.java
但是cloning.java中调用了F:\WorkSpace2\DemoClass\src\sapphire\custom\lifesci\misc\LIFESCIUtil.java这个类中的方法,我该怎么写javac?我试了几次都报错了,
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,