当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 我的treeview有几个大项,每个大项里有几个小项 我想让程序一启动,这些项目都是打开状态,不用一个个的点击 我该如何做?谢谢 ......
    摘要: 高手们好 我想实现qq那样的发送消息,客户发给服务器,服务器如何发给指定的客户啊.客户发来的信息保存在数据库中, 我把数据库中的要发送的人的名字也取出来了,但老是发给自己.请高手指点. ......


问个简单的问题,关于构造函数的。。。

class   Hello  
  {  
        Hello()  
      {  
            system.out.println("Hello");  
      }  
  }  
  public   class   SimpleHello  
  {  
        public   static   void   main(string[]   args)  
      {  
            for(int   i=0;i<10;i++)  
                  new   Hello();     //这里是什么意思?为什么要这么写呢?是调用构造函数吗?那为什么没有对象名?用new不是应该先创建对象,然后再调用吗?请帮忙详细讲讲这里,谢谢。。。  
        }  
  }  
  如果写成下面这样可以吗?跟上面这种比有何优劣呢?  
  class   Hello  
  {  
        Hello()  
      {  
            system.out.println("Hello");  
      }  
  }  
  public   class   SimpleHello  
  {  
        public   static   void   main(string[]   args)  
      {  
              Hello   x=new   Hello();  
              for(int   i=0;i<10;i++)  
                  x.Hello();    
        }  
  }

NO.1   作者: believefym

new   Hello()自动调用构造函数了,如果不需要对对象进行更多的操作,对象名就省了。  
   
  Hello   hello   =   new   Hello();  
  hello.method();  
  等价与  
  new   Hello().method();(这样简单嘛)  
   
  如果要调用两个函数这样写就不行了只能  
  Hello   hello   =   new   Hello();  
  hello.method1();  
  hello.method2();  
   
  你下面的写法显然是不行的

NO.2   作者: rainly1985

new   Helo();的作用有两个,第一,创建一个Hello   对象,第而,创建一个指向这个对象的引用,而new   Hello();就代表了这个引用,Hello   hello   =   new   Hello();这句话只是把这个引用(reference)传给了引用变量hello,所以hello.method()和new   Hello().method(),是一样的,只不过后者在以后的程序中就不能在引用这个对象,而这个对象也会在以后的某个不确定的时间被gc回收  
   
  而你写的,x.Hello();是错的,因为Hello()是个构造函数,他的责任是创建对象,而创建对象只能用关键字new   来创建,明白了吗?呵呵

NO.3   作者: lancelobb

Hello()不是普通方法,按你的写法只能这样写  
              Hello   x;  
              for(int   i=0;i<10;i++)  
                  x=new   Hello();    
  可以看到,这个x在这里是个垃圾,不会真正用到,不写最好

NO.4   作者: luanzi

说多了你也糊涂了!  
  其实就是调用构造函数!用new!


 ·如何捕捉 moueexit 事件    »显示摘要«
    摘要: 在 vb 中,我们要捕捉 mouseexit 事件,必须用 api 函数: private declare function setcapture lib "user32" (byval hwnd as long) as longprivate declare function releasecapture lib "user32" () as lo......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE