|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点静态一向都在连JDBC顶用到Class.forName(),当用到XML静态剖析分拨的时分碰到了Class名字符串没法作为Class名实例化的成绩,寻寻找觅终究找到一个办理的举措:
publicclassDynamicLoader{
publicstaticvoidmain(Stringargs[])throwsException{
ClasstoRun=Class.forName(args[0]);
String[]newArgs=scrubArgs(args);
MethodmainMethod=findMain(toRun);
mainMethod.invoke(null,newObject[]{newArgs});
}
privatestaticString[]scruArgs(String[],args){
String[]toReturn=newString[args.length-1];
for(inti=0;i<args.length;i++){
toReturn[i-1]=args[i].toLowerCase();
}
returntoReturn;
}
privatestaticMethodfindMain(Classclazz)throwException{
Method[]method=class.getMethods();
for(inti=0;i<method.length;i++){
if(method[i].getName().equals("main"))
returnmethod[i];
}
returnnull;
}
}
再来个复杂的测试程序:
publicclassEchoit{
publicstaticvoidmain(Stringargs[]){
for(inti=0;i<args.length;i++){
System.out.println("Echoarg"+i+"="+args[i]);
}
}
}
都编译以后
javaDynamicLoaderEchoONETWOTHERE
就能够看到效果了,既静态载进Echo又给它传了三个参数:)
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊 |
|