带来娱乐和收益的静态内部类

原创 2001年05月04日 13:28:00
学会了这个技巧,您便可以把静态内部类的使用加入到您的 Java 使用技巧集锦当中。 静态内部类是在另一个类的定义中进行定义,并且标记为静态的类。我将向您展示一个实例,它利用静态内部类向另一个类中添加测试代码。

静态内部类在概念和实现上都十分简单,基本上来说就是在您的主类中定义一个静态类:

public class Foo
    {
    // ....

    public static class Test
      {
      public static void main (String[] args)
          {
          // ....
          }
      }
    }

说到向您主要的类中添加辅助代码,其中最重要的一点就是静态内部类被编译到一个单独的 .class 文件中,这个文件独立于它的外部类。例如,如果外部类叫做 Foo,而它的一个内部类叫 Test,那么这个内部类将被编译成 Foo$Test.class 文件。.class 文件的分离意味着您可以将辅助的嵌套代码与主要的外部类牢固地捆绑在一起。它们在同一个源文件中,内部类的确是在外部类的内部。您无需再付出任何发布或运行时的开销。真棒!例如,如果辅助代码只是用于调试,那么您只需发布 Foo.class 文件而将 Foo$Test.class 文件留下即可。

我将这个技巧主要用于编写外部类的演示代码、错误调试代码,以及进行单元测试实现类行为的自动验证。(当然,做为一个勤奋的开发人员,我准备将测试代码转化成单元测试。)

注意,要执行 Foo.Test 类的 main() 方法,请使用下面的命令:

      % java Foo$Test

如果您正在使用的命令解释程序(shell)把“$”做为一个保留字,那么您应该使用下面的命令:

      % java Foo/$Test

还有一点十分有趣:静态内部类根据定义可以访问外部类的保护域和私有域。这件事可以说既有利也有弊。因为您可能在不经意间就破坏了外部类的保护域和私有域,从而违反了它的封装性,所以请小心对待!这一功能最恰当的应用就是编写类的白盒测试程序--因为这样可以引入一些利用通常的黑盒测试很难引入的问题(黑盒测试不能访问对象的内部状态)。

XYPair 类十分简单。它提供一个固定的整数对,(x,y)XYPair.Test 类有一个 main() 方法可以对 XYPair 进行简单的测试并输出结果。试着调整测试代码和核心代码来试验各种可能的问题。

如果您更加大胆,您可能想检验 Java 单元测试构架(JUnit)。您可以去掉源代码中的各种注释,然后利用 JUnit 的测试引擎运行这些测试程序。

结论
通过使用静态内部类,您可以给您的系统添加辅助功能,以便完成诸如测试之类的工作,而对正式发布的产品不会带来任何不利影响。

想从微博引流量?这样做,效果杠杠滴!

随着互联网的飞速发展,传统媒体在市场中占据的比重越来越少,更多的人偏向于“足不出户,也能熟知天下大事”的方式,这就是现代化媒体出现的主要原因。如果童鞋们曾有意识、无意识地观察周边人对于手机的依赖性,你...
  • weiwei_2016
  • weiwei_2016
  • 2016年04月13日 15:52
  • 715

企业如何通过网站带来收益呢?

如何运用好企业网站,要想很好的运营企业网站可以从下面几个方面入手: 好的网站策划,让你事半功倍! 一个好的网站,能给你带来无限的商机,没有错,但是往往人们会忽略一个问题,你的网站是如何定位的,你的...
  • u010953886
  • u010953886
  • 2014年01月20日 11:26
  • 462

这只兔子能够带来什么收益?

这只兔子能够带来什么收益? 猎人抓捕兔子是为了从兔子身上获取收益。 一个好的产品不单单是能够满足用户的需求,给用户创造价值。 还应该能够从用户那里获取利益。 作为一个产品,...
  • liang19960530
  • liang19960530
  • 2017年05月22日 10:47
  • 172

互联网行业发展形势乱弹--娱乐和社交

7月21日消息,中国互联网信息中心CNNIC今日发布第34次调查报告。报告显示,截至2014年6月,我国手机网民达5.27亿,较2013年底增加2699万人,网民中使用手机上网的人群占比升至83.4%...
  • wangMail_3366
  • wangMail_3366
  • 2014年07月26日 17:07
  • 976

中国移动咪咕互娱2016校招面经

笔试: 日期:2015.10.31  地点:江苏海事职业技术学院        咪咕的考试是和中国移动一起的,意思就是参加一次中国移动的考试,考试成绩可以作为移动下面很多公司的成绩,比如咪咕,比如山东...
  • GrassRing1
  • GrassRing1
  • 2015年11月17日 20:59
  • 4605

腾讯互娱旗下工作室一览

腾讯互娱旗下工作室一览 1.天美艺游工作室 成立于2013年,是腾讯IEG(互动娱乐事业群)下负责研发精品移动游戏的工作室。 代表作:《天天连萌》《天天爱消除》《天天酷跑》《天天飞车》 现...
  • sanyuancap
  • sanyuancap
  • 2014年07月09日 10:56
  • 1495

网易互娱2017实习生招聘在线笔试(一)

题目1 : 电子数字 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 电子数字在生活中很常见,而许多的电子数字是由LED数码管制作而成。数字LED数码管一...
  • xu20082100226
  • xu20082100226
  • 2016年03月18日 23:45
  • 2866

网易互娱2017实习生招聘在线笔试第一场题目解析

注意:由于题目目前还没有加入到题库,所以本人给出的代码并不能保证AC,但是对于所给的测试用例和解题基本思路是正确的。 题目1 : 电子数字 时间限制:10000ms 单点时限:1000m...
  • qq_32400847
  • qq_32400847
  • 2016年03月23日 19:55
  • 1495

百度快照及真正的带来收益的客户

百度快照不更新的解决办法 做网站优化最怕的就是网站快照不更新了,因为网站快照不更新代表着网站马上就会排名出现动荡,甚至是网站收录被直接清零,或者没有首页快照了,这些问题都是影响网站优化的主要原因,那...
  • u010953886
  • u010953886
  • 2013年10月10日 10:17
  • 681

网易互娱2017实习生招聘在线笔试(三)

题目3 : 画线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小王最近在开发一种新的游戏引擎,但是最近遇到了性能瓶颈。于...
  • xu20082100226
  • xu20082100226
  • 2016年03月21日 09:45
  • 2325
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:带来娱乐和收益的静态内部类
举报原因:
原因补充:

(最多只允许输入30个字)