关于static 的意义---》thinking in java

来源:互联网 发布:js二维数组姓名,年龄 编辑:程序博客网 时间:2024/05/14 05:36

一般说呢 ,当你去描述这个类是什么样子,它们有什么行为。你呢 必须要创建一个对象,在堆里面指定一个内存,这时变量以及方法才可以调用方法。


对于以上访问方法,有两种情况是不适用的。
1 你只想用一个存储变量,不需要类的多个对象创建重复的变量。并且想不用创建对象,也能访问这个存储变量。
2 你想访问类里面一个特殊的方法。这个方法并不是哪个类对象的方法。并且不需要类对象的方法,就能对他进行访问。


对于以上两种情况,平常的处理方法是不行的,那有别的解决办法吗?
答案是有的,如果你说有些东西是静态的,它表明的意思是特殊的变量或者是方法是不能绑定到哪一个对象上的。
根据这个特性,你可以在没有创建对象的基础的之上可以对其进行访问。

别的一些面向对象的语言也有这样的特性。不需要创建对象就能对其进行访问。java 也从了这个特性。


当static 加上到变量上的时候。 改变了数据的创建方法。当static 加在方法上的时候,没有这个效果。
static method 能让你访问,在不需要创建对象情况下。这个很重要。

this 关键字 不能用在静态方法。你不能在静态的方法里面使用在non-static methods ,但反过来是可以的。
事实上,这个相当于全局方法 ,但java 不允许全局方法。但用静态方法access 另外的静态方法来进行弥补。

有些人认为 ,静态的方法 不是面象对象的,他们有点像全局方法。如果你用了很多的静态方法,你应该想想你的策略。
但是 static 方法 是编程的一种方法。如果你真的需要的话 ,它也是合适的面向对象。

0 0