当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

Java与C++语言在作用域上的差别浅析[Java编程]

赞助商链接



  本文“Java与C++语言在作用域上的差别浅析[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

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代码的可读性,避免混合才定义了这条法则.


  以上是“Java与C++语言在作用域上的差别浅析[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .