设为首页收藏本站language 语言切换
查看: 2333|回复: 5
收起左侧

[战报] Java和.NET开发语言的不同点

[复制链接]
发表于 2012-6-27 16:25:14 | 显示全部楼层 |阅读模式
Java语言和C#语言非常相似,虽然内部会有很多区别,提供的API也不一样,但开发一个具体功能点的思路常用的都差不多,由于对比较新的技术和特性开发过程中接触不多,我所遇到的不同点包括:
1Java包的名字是和物理文件位置一一对应的, C#里命名空间可以随便写,并且编译出来的程序集也可以随便更改,可以不和命名空间保持一致,程序集和JAVA里单独打出来的jar包是差不多的意思。
2JAVA的一个文件只能有一个公共类,而C#可以多个公共类在一个文件里。
3、如果找到一个JAR包,Java查看新jar包的方法字段描述,需要有单独的对应jar包的doc文档,才能看到接口调用参数说明,否则看起来不直观,但是如果有源码打出来的jar包,调试的时候可以方便的看到该包的源代码。.NET里只要有了dll文件,就能方便的看到方法元数据调用参数,但是看到参数详细说明,还是需要对应dllxml文档。
4、对于WEB开发,JAVAFilter,Servlet,Listener是很常用的,Java里的Filter可以用.NET里的module来实现一些功能,但Filter可以制定作用请求范围,module是全局控制的;Servlet相当于一个具体的handler,可以对制定请求进行处理,Listerner可以用.NET里的Application_Start里来完成一些功能,但是JAVA里集成了部分默认Listerner,它在WEB应用启动的时候就开始执行。它们的具体执行流程为:WEB启动时,ListenerContextInitialized方法->所有FilterInit(不管filter-mapping的值)->所有配置了load-on-startup大于等于0Servletinit方法(不管servlet-mapping的值),具体请求为:具体Servletinit(只执行一次)->Filter doFilter(请求配置的filter-mappingvalue->Servlet service 最后网站释放的执行顺序为:Filter destroy-Listener contextDestroyed
5Java里的Final关键字,当给一个字段时,表示该字段不能修改,构造函数里都不能修改,这个和C#const有点像,但是const默认是static的。和C#readonly也比较像,但是readonly可以在构造函数里修改。当它作为一个方法的修饰符时,它类试c#sealed类,不能重写它。
6Java里没有静态构造函数,如果要实现一些初始化工作,需要用静态代码块,static{},里面输入内容即可,C#只有静态构造函数的说法。
发表于 2012-6-27 16:56:56 | 显示全部楼层
多谢分享 果断收藏
沙发 2012-6-27 16:56:56 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-6-28 11:02:47 | 显示全部楼层
板凳 2012-6-28 11:02:47 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-6-28 15:31:44 | 显示全部楼层
谢谢了!
地板 2012-6-28 15:31:44 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-8-23 12:29:11 | 显示全部楼层
5# 2012-8-23 12:29:11 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-31 01:39 , Processed in 0.054862 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表