CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

请教高手,在一个类中这样的一个定义表示什么?第一次见到.

楼主Kylix_NOW(盖茨的爸爸)2006-09-29 11:18:34 在 Java / J2SE / 基础类 提问

static    
          {  
                  _HumanInstance   =   new   HumanInstance();  
                  _HumanInstance.go();  
          } 问题点数:50、回复次数:23Top

1 楼angel_china(安琪)回复于 2006-09-29 11:23:19 得分 10

内部类,详细去查书Top

2 楼Kylix_NOW(盖茨的爸爸)回复于 2006-09-29 11:24:53 得分 0

看清楚这样的定义哦。楼上的老大能介绍一下吗?  
  public   class   humans  
  {  
          ..........  
   
          static    
          {  
                  _HumanInstance   =   new   HumanInstance();  
                  _HumanInstance.go();  
          }  
   
  }Top

3 楼Kylix_NOW(盖茨的爸爸)回复于 2006-09-29 11:26:31 得分 0

知道的老大给详细介绍一下吧,别告诉我查书去.我都查了2个多小时了,没有结果所以才来问的.呼唤高手.Top

4 楼Kylix_NOW(盖茨的爸爸)回复于 2006-09-29 11:31:43 得分 0

这不应该是一个内部类吧,应该是一个变量的定义吧.如果是内部类,至少也的有修饰符   class   啊  
  Top

5 楼lanseliuying(别那么小气!)回复于 2006-09-29 11:33:30 得分 10

去查匿名类Top

6 楼WxmJun(胡扯之)回复于 2006-09-29 11:33:52 得分 10

这是静态代码,当这代码所在的类被虚拟机加载时就运行,并只运行一次(类也只是被虚拟机加载一次)Top

7 楼xstom19(hh)回复于 2006-09-29 11:44:33 得分 10

静态初始化Top

8 楼lingkeylbh(凌可)回复于 2006-09-29 15:10:47 得分 10

WxmJun(胡扯之)   说的对,类被加载就执行了,你去看看类的初始化,new一个对象的时候最先执行的就是这种代码Top

9 楼huqingmiao(林中漫步)回复于 2006-09-29 15:20:21 得分 0

不说了,   WxmJun已经说了Top

10 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-09-29 15:32:34 得分 0

.......................Top

11 楼Layman_Farmer()回复于 2006-09-29 16:19:42 得分 0

这是静态代码块,当第一次调用静态变量时执行,且就一次Top

12 楼strawbingo(避世稻草)回复于 2006-09-29 16:25:58 得分 0

_HumanInstance   =   new   HumanInstance();     --建立一个对象  
                  _HumanInstance.go();         --调用对象方法  
  静态执行,加载类即执行  
   
    _HumanInstance是在哪定义的呢?Top

13 楼zhoufoxcn(周公)回复于 2006-09-29 17:37:35 得分 0

内部静态初始化块,它肯定有定义(不要怀疑这个),如果在当前类没有,到父类去找(甚至父类的父类...)。Top

14 楼NsGFr(elan)回复于 2006-09-29 17:49:06 得分 0

确切的说:类构造函数。  
  我们平常所说的构造函数就是   非   static的   构造函数。  
   
  呵呵~~Top

15 楼Onelee(加油````^..^)回复于 2006-09-29 20:29:41 得分 0

都说完拉。。呵呵Top

16 楼ufo5054492(把佛钉在十字架上)回复于 2006-09-29 20:50:35 得分 0

静态块,当类被初始化时调用,而且只调用一次,(调用后一直保存在内存中)下回不管怎么调用与初始化类这静态块都不会再被调动.程序结束时这静态块才退出!  
  Top

17 楼wyd36()回复于 2006-09-29 21:30:28 得分 0

<tr>    
      <%set   com=server.createobject("adodb.connection")                      
  com.open   "DBQ="&   Server.MapPath("data.mdb")     &";Driver={Microsoft   Access   Driver   (*.mdb)}"                  
  if   request("ok")="ok"   then   response.write   "hello"        
  set   rs=com.execute("select*from   main   where   user>=#"   &   date   &   "#   ORDER   BY   id   DESC")        
  page=request("page")              
  newpage=0      
  if   page=""   then   page=1    
  do   while   newpage<page*101-101  
  newpage=newpage+1              
  rs.movenext              
  loop      
  do   while   not   rs.eof          
  i=i+1%>      
                  <td   width="435"   height="26"   valign="middle"   bgcolor="#F0F0F0"><span   class="f14"><a   href="<%response.write   rs(2)%>"   target="_blank">  
                      <%response.write   rs(1)%>    
                  </a></span><font   color="#FF6600">&nbsp;</font></td>    
             
      </tr>    
  <%if   i=100   then   exit   do          
                       
  rs.movenext                            
  loop%>      
  请问如何实现循环到5条信息的时候换行啊???换行啊Top

18 楼cxncu001()回复于 2006-09-29 22:02:20 得分 0

静态初始化  
   
  详细情况《thinking   in   java》有讲Top

19 楼wuyulunbi134(╋ 所罗门王╋)回复于 2006-09-29 23:59:14 得分 0

注:  
  public   class   InchesToFeet  
  {  
        private   static   final   int   inches=12;  
        protected   InchesToFeet()  
        {                
        }  
        public   static   double   convert(double   in)  
        {  
              return(in/inches);  
        }  
        static  
        {  
              System.out.println("这是首先执行的静态块!");//可以写多个     例:  
        }  
        static  
        {  
              System.out.println("这是首先执行的静态块第二个!");  
        }  
        static  
        {  
              System.out.println("这是首先执行的静态块第三个!");  
        }  
        public   static   void   main(String[]   args)  
        {  
              double   inch=66;  
              double   feet=InchesToFeet.convert(inch);  
              System.out.println(inch+"inch   is"+feet+"feet.");  
        }  
  }  
  简单小例子能明白吗!那个静态块在第一次使用类时执行,可以写多个,这个功能在有些情况下用起来很方面!自己想吧!Top

20 楼royeleo(煨灶猫||(只要一颗★))回复于 2006-09-30 09:39:29 得分 0

楼上的不错啊  
  例子给的很详细  
   
  学习一下Top

21 楼lw1211(里里)回复于 2006-09-30 09:45:58 得分 0

all   right!Top

22 楼figoren(figoren)回复于 2006-09-30 10:57:08 得分 0

表示类在加载时就开始执行的代码段   执行一次Top

23 楼jk88811(你的就是我的,我的还是我的~!)回复于 2006-09-30 11:33:38 得分 0

大家都已经说得很清楚了...  
   
  我们平时基本上不会用到,   所以也不一定要追根究底了Top

相关问题

关键词

得分解答快速导航

  • 帖主:Kylix_NOW
  • angel_china
  • lanseliuying
  • WxmJun
  • xstom19
  • lingkeylbh

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo