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

面向Java开辟人员的Scala指南 - 包和访谒修饰符[Java编程]

赞助商链接



  本文“面向Java开辟人员的Scala指南 - 包和访谒修饰符[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

近来,读者的反馈让我意识到在制作本系列的历程中我遗漏了 Scala 的语言的一个重要方面:Scala 的包和拜候修饰符功效.所以在研究该语言的函数性元素 apply 机制前,我将先介绍包和拜候修饰符.

打包

为了有助于断绝代码,使其不会彼此冲突,Java™ 代码供应了 package 关键词,由此成立了一个词法命名空间,用以声明类.本质上,将类 Foo 安排到名为 com.tedneward.util 包中就将正式类名改正成了 com.tedneward.util.Foo;同理,必须按该办法引用类.假如没有,Java 编程人员会很快指出,他们会 import 该包,避免键入正式名的麻烦.的确如此,但这仅意味着按照正式名引用类的工作由编译器和字节码完成.快速浏览一下 javap 的输出,这点就会很明了.

但是,Java 语言中的包还有几个特别的要求:一定要在包所作用的类所在的 .java 文件的顶端声明包(在将注释利用于包时,这一点会引发很严重的语言问题);该声明的作用域为整个文件.这意味着两个跨包举行精密耦合的类一定要在跨文件时别离,这会导致二者间的精密耦合很简单被忽视.

Scala 在打包方面所采纳的办法有些差别,它结合利用了 Java 语言的 declaration 办法和 C# 的 scope(限定作用域)办法.理解了这一点,Java 开辟人员便可以利用传统的 Java 办法并将 package 声明放在 .scala 文件的顶部,就像普通的 Java 类一样;包声明的作用域为整个文件,就像在 Java 代码中一样.而 Scala 开辟人员则可以利用 Scala 的包 “(scoping)限定作用域” 办法,用大括号限制 package 语句的作用域,如清单 1 所示:

清单 1. 简化的打包

package com
{
 package tedneward
 {
  package scala
  {
   package demonstration
   {
    object App
    {
     def main(args : Array[String]) : Unit =
     {
      System.out.println("Howdy, from packaged code!")
      args.foreach((i) => System.out.println("Got " + i) )
     }
    }
   }
  }
 }
}

这个代码有效地声明了类 App,大概更切当的说是一个称为 com.tedneward.scala.demonstration.App 的单个类.注意 Scala 还答应用点脱离包名,所以清单 1 中的代码可以更简便,如清单 2 所示:

清单 2. 简化了的打包(redux)

package com.tedneward.scala.demonstration
{
  object App
  {
    def main(args : Array[String]) : Unit =
    {
     System.out.println("Howdy, from packaged code!")
     args.foreach((i) => System.out.println("Got " + i) )
    }
  }
}

用哪一种款式看起来都对比符合,因为它们都编译出一样的代码构造(Scala 将持续编译并和 javac 一样在声明包的子目录中生成 .class 文件).


  以上是“面向Java开辟人员的Scala指南 - 包和访谒修饰符[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Jt —— 面向Java情势的框架
  • 面向Java开辟人员的Scala指南 - 用Scitter更新Twitter
  • 面向Java开辟人员的Scala指南 - 类操作
  • 面向Java开辟人员的Scala指南 - 面向对象的函数编程
  • 面向Java开辟人员的Scala指南 - 实现承当
  • 面向Java开辟人员的Scala指南 - Scala和servlet
  • 面向Java开辟人员的Scala指南 - Scala掌握构造内部揭密
  • 面向Java开辟人员的Scala指南 - 包和访谒修饰符
  • <b>面向Java开辟人员的Scala指南 - 构建计算器,第1部份</b>
  • 面向Java开辟人员的Scala指南 - 构建计算器,第2部份
  • 面向Java开辟人员的Scala指南 - 构建计算器,第3部份
  • 面向Java开辟人员的Scala指南 - 关于特点和行为
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

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

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