Java Static 解说

http://tech.ddvip.com   2006年11月21日    社区交流

本文详细介绍Java Static 解说

  过去看书我总是不能揪起深意,总是囫囵吞枣,也许是上了年纪的缘故(呵呵:-)),现在开始

  慢慢的进入正题了,呵呵!大家都应该知道在JAVA中Statci方法,是不能调用非Statci方法,和非Statci

  数据成员的,他只能够调用类方法和类变量,这是一个定理,但你想过为什么了吗?真的想过???

  在这里我将竭尽所能为您阐述Static,其实要想完全了解Static,那么首先This你要清楚,This代表的

  是”当前的对象“,This用于返回当前对象的一个引用。

  This在应用中的例子01:

public classExample01{
   inti=10;
   publicseti(inti){
     this.i=i; 
   } 
}

  This在应用中的例子02:

publicclassExample02{
   publicvoidCall(inti){/*...*/}
}

  Example02A=NewExample02();

  Example02B=NewExample02();

  A.Call(1);

  B.Call(2);

  如果只有Call()方法,那么它又该怎么判断是对象A,还是对象B在调用他,在这里编译器在暗中做了

  很多事情,你所操纵的哪个对象的引用会被当作一个重要的参数传递给Call()方法,调用的形式如下:

  Example02.Call(A,1);

  Example02.Call(B,2);

  这是在程序内部的形式,我们写程序可不能这样啊!

  如果你理解了我上面说的This,那么理解Static就不远了,Static的方法代表这个方法没有THIS,你不能在

  Static方法中调用非Static方法,Static方法可以让你直接对类调用Static方法,不用实例化,这是Static

  应用的本意,(在C语言中类似)一个全局函数,然而JAVA没有全局函数,类的Static方法只能访问

  Static方法和Static数据成员,在Static方法中你不能让他对对象发送消息,因为他没有THIS。

  由于我的能力有限,我随尽了全力但仍有不足,不对指出尽请指出,谢谢!

责编:豆豆技术应用

正在加载评论...