再见西城 发表于 2015-1-18 11:24:58

发布一篇Java与C++言语在感化域上的差别浅析

手机用到的是用j2me所编出来的小程序。
Java与C++的编程头脑固然有必定的配合性,可是在良多方面仍旧存在着分歧。如二者在感化域上仍旧存在着很年夜的差别。上面笔者就剖析一下这两门言语在感化域上的差别,这里所提到的感化域包含变量感化域和对象感化域。
差别一:变量感化域的分歧
以下面这段程序代码是切合C++言语的语法请求的。其能够在C言语下一般运行。可是其在Java言语平台下编译的时分,就会原告知有毛病。其格局、关头字下面都没有毛病。那末毛病究竟是这么呢?这就干系到变量的感化域。
{
    float y=3.15

    {

    float y=3.15

   }

}
感化域就决意了其界说的变量名的可见性与性命周期。在C++言语(包含其衍生出来的其他言语)与Java言语中,都是用必定花括号来代表一个感化域的。如下面的代码,就暗示有两个感化域。表面一对花括号代表一级感化域;内里一对花括号代表二级感化域,顺次类推。一般情形下,一级感化域中界说的变量,对其上级感化率都是无效的。也就是说,其上级感化域能够间接援用下级感化域中界说的变量。可是在二级感化域中,能够变动一级感化率中设置的变量值,不外这个变动只在二级感化域外部无效。如下面这个代码,在二级感化域中能够再定义一个y变量,从头赋值。注重,实在在二级感化域中界说的变量与一级感化域中界说的变量,固然名字不异,可是他们不是统一个变量。假如此时在一级感化域外,有其他代码援用这个y变量的话,则其的值仍旧是3.14,而不会是3.15。也就是说,在二级感化域中界说的变量,只在其外部无效。关于下级感化域是没有涓滴影响的。也就是说,在感化域中界说的变量只在其感化域内无效。出了其感化域外,其外部设置的变量就全体有效了。
这个感化域的设置实在Java言语与C++言语是相似的。可是在细节上Java言语又多了一条限定。如上表的代码所示,固然在下面的代码中变量y在两个分歧的感化域中界说,照理来讲是二者是互不干与,能够共存。可是在Java编译器中,是不同意有这类情形存在的。把下面这个代码在Java编译器中编译的话,编译器会关照程序开辟职员,说这个变量y已界说过。然后编译会以毛病了结。固然在C++言语中在分歧级其余感化域中界说名字不异的变量是同意的,而在Java语言中则不可,这其实不代表在变量的感化域上有所分歧。实在从实质下去说,二者变量的感化域是不异的。只是关于Java言语来讲,其又多加了一条限定。在Java言语中,即便感化域分歧,其界说的变量名字也不克不及够不异。这次要是为了进步Java代码的可读性,避免搅浑才界说了这条划定规矩。
<p>
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。

谁可相欹 发表于 2015-1-21 05:38:14

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

老尸 发表于 2015-1-27 23:48:16

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

灵魂腐蚀 发表于 2015-1-30 18:01:43

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

只想知道 发表于 2015-1-30 21:15:39

Java 编程语言的风格十分接近C、C++语言。

乐观 发表于 2015-2-6 16:01:08

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

飘飘悠悠 发表于 2015-2-8 13:52:03

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

再现理想 发表于 2015-2-21 18:37:30

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

金色的骷髅 发表于 2015-2-23 21:38:29

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

小妖女 发表于 2015-2-25 06:50:59

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

精灵巫婆 发表于 2015-3-7 17:30:49

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

小魔女 发表于 2015-3-10 08:49:21

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

深爱那片海 发表于 2015-3-17 06:07:05

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

飘灵儿 发表于 2015-3-23 22:14:14

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
页: [1]
查看完整版本: 发布一篇Java与C++言语在感化域上的差别浅析