易截截图软件、单文件、免安装、纯绿色、仅160KB

Thinking in Java 中这句话的理解

Thinking in Java 3th 中文版 第二章 Static关键字的解释中有如下一句话:

“和其他任何方法一样,static方法可以创建或使用与其类型相同的被命名对象,因此,static方法尝尝拿来做“牧羊人”的角色,负责看护与其隶属同一类型的实例群”

希望各位朋友能用举例的形势解答下如下问题:
一,方法的类型是什么?返回值类型?
二,“牧羊人”的角色该如何理解?如何编程可以起到“看护”的作用?
Java code:
在Java里,一般情况下,你需要产生某个对象,再通过该对象取用其数据和

函数,但若将某个函数或数据声明为static.它将不在局限与所需的class object,即使没有任何object,外界还是可以调用其static函数。

例如:


class statictest { static int i = 47; }
  statictest st = new statictest ( );
  
  这里st.i和statictest.i作用相同,他们共同指向一块内存。
  class staticfun
  {
   static void incr( ) { stitictest.i++ }
  }
  staticfun sf = new staticfun ( );


无论是通过对象----sf.incr()还是直接通过class---staticfun,incr ( )调用都是一样的 。


简而言之 static的方法里只能调用static的东西

楼上两位扯远了,楼主问的问题你们都没回答啊。
我对前半句话的理解是,static方法可以用来创建本类型的对象,也就是说用static方法做工厂方法,产生所需的实例。
所谓牧羊人的角色,负责看护与其隶属同一类型的实例群,我这样理解:static方法返回本类型的实例时,既可以当做普通的工厂方法使用,也可以作为操作本类型内部对象池的


相关问答:

jsp页面获取session的问题 - Java / Java EE

我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......

JAVA swing 中的按钮相应事件

现在遇到这样一个问题:
  在java 中编写swing程序, 添加按钮jbServerStart,目的是当点击jbServerStart时,程序会自动创建两个与其他终端通信的对象,代码如下:
private Container createButtonPane ......

mapxtreme for java 如何在图层画线?

查API,看到FeatrueFactory有这个方法
public Feature createPolyLine(double[][] thePoints,
                              R ......

java语法问题 - Java / Java EE

import java.io.*;
class FileTest
{
public static void main(String [] args) throws Exception
{

File fDir=new File(File.separator);
String strFile="java源代码测试"+File.separato ......

怎么用Java实现定时执行某程序 - Java / Java SE

我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号