Thinking in Java static

来源:互联网 发布:手机淘宝怎么改密码 编辑:程序博客网 时间:2024/04/30 19:07

P171  5-4-2

了解this关键字之后,就能更全面地理解static(静态)方法的含义。static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来倒是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。它很像全局方法。Java中禁止全局方法,但你在类中置入static方法就可以访问其它static方法和static域。

有些人认为static方法不是“面向对象”的,因为它们的确具有全局函数的语义;使用static方法时,由于不存在this,所以不是通过“向对象发送消息”的方式来完成的。的确,要是在代码中出现大量的static方法,就该重新考虑自己的设计了。然而,static的概念有其实用之处,许多时候都要用到它。至于它是否真的“面向对象”,就留给理论家去讨论吧。事实上,Smalltalk语言里的“类方法”就是与static方法相对应的。

0 0
原创粉丝点击