当前位置: 备案域名出售 > 建站教程>正文

内部类与上传

到目前为止,内部类还没有现出什么非常惊人的特质。毕竟,如果你所追求的只是隐藏机制,那么Java已经有了——只要赋予类package权限(只能在package内部访问)就行了,何必要把它做成内部类。

但是,当你将它上传到基类,特别是interface的时候,就会发现,内部类还是有它自己特性的。(实际上,将对象上传给它所实现的接口与将它上传给基类是完全相同。)这样,任何人都不能看到或者访问到内部类了——也就是interface的实现了,于是隐藏实现就变得轻而易举了。你所得到的,只是一个基类或interface的reference。

首先,要用单独的文件来定义公用接口,这样它们才能全程使用。现在客户程序员能用contents和destination接口了。要记住interface就表示它成员自动就是public的。当你拿到基类或interface的reference的时候,有可能你会没办法找出它的具体类型,客户程序员对这些成员的了解和访问权限是有限制的。实际上,你甚至不能将对象下传给private的内部类,由此,private的内部类为类的设计者们提供了一种能彻底杜绝并且完全将实现细节隐藏起来的方法。

« 上一篇下一篇 »