1、面向对象,当然可以。只不过是定义了一个静态的A的实例。
2、自己看着办,随便。
这样可以直接调用A.teha.fun1();
这样写的人有毛病。

解决方案 »

  1.   

    在一个程序中只需要一个类的实例,不允许创建多个类的实例,就可以这么写(类似于Singleton模式),当然还要把构造函数声明成私有的
      

  2.   

    我是想知道原理~!!我不明白!!为什么类还没有定义玩,它怎么实例化自己??编译器怎么判断的???这样用的人有病???这个Log4net的一个开源项目的用法!!
      

  3.   

    我也觉得这样用不正确,直接调用就可以了,为什么要这样呢?我猜想,他想用A.什么吧,少打字...还有,在他执行public static A thea =new A();的时候,类已经定义完成了.
    自己调自己有什么奇怪的
      

  4.   

    public static A thea =new A();先执行
    因为静态的是在一切对象生成前运行的
    其实你看看用.Net新建的win form程序就知道了
    都是
    在class中有个public static main()的
    main函数先执行
      

  5.   

    引用类似c++里的指针所以编译器把它处理成DWord就可以了(不是很准确,但大致原理应该是这样)
      

  6.   

    log4Net源码的用法,一定有它的道理,大家探讨一下,
    在类本身new一个本身的静态实例好像是可以的啊~~还是有些不明白