当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: (FROM csdnnjchenyi 的 Blog )一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,wor...
 

 

    摘要: 这篇文章主要说的是在hibernate中的组件(component)映射,可以参考hibernate官方文档的第7章。至于环境设置,可以参考这个系列的前面几篇文章。 1. 创建项目 · 新建一个java项目:componentmapping,注意选中“创建单独的源文件夹和输出文件夹”,同时添加“用户库”:hibernate。 2. 编......
 ·java代码编写的30条建议     »显示摘要«
    摘要:(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: thisisaclassname thisismethodorfieldname 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 java包(package)属于一种......


Java中static、this、super、final用法

( from csdn  njchenyi 的 blog )

  public class hello{    public static void main(string[] args){ //(1)      system.out.println("hello,world!");   //(2)    }  } 【程序编程相关:【原创】Copy源文件,并去掉注释

一.static

  请先看下面这段程序: 【推荐阅读:MySQL4.1.7的字符集问题

  在1处,我们定义了一个静态的方法名为main,这就意味着告诉java编译器,我这个方法不需要创建一个此类的对象即可使用.你还得你是怎么运行这个程序吗?一般,我们都是在命令行下,打入如下的命令(加下划线为手动输入): 【扩展信息:简化繁琐的赋值——反射在Jdbc和Str

  看过这段程序,对于大多数学过java 的从来说,都不陌生.即使没有学过java,而学过其它的高级语言,例如c,那你也应该能看懂这段代码的意思.它只是简单的输出“hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主要用法.

javac hello.javajava hellohello,world!

  这就是你运行的过程,第一行用来编译hello.java这个文件,执行完后,如果你查看当前,会发现多了一个hello.class文件,那就是第一行产生的java二进制字节码.第二行就是执行一个java程序的最普遍做法.执行结果如你所料.在2中,你可能会想,为什么要这样才能输出.好,我们来分解一下这条语句.(如果没有安装java文档,请到sun的官方网站浏览j2se api)首先,system是位于java.lang包中的一个核心类,如果你查看它的定义,你会发现有这样一行:public static final printstream out;接着在进一步,点击printstream这个超链接,在method页面,你会看到大量定义的方法,查找println,会有这样一行:

public void println(string x).

  好了,现在你应该明白为什么我们要那样调用了,out是system的一个静态变量,所以可以直接使用,而out所属的类有一个println方法.

静态方法

  通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法.如下所示:

class simple{   static void go(){     system.out.println("go...");   }}public class cal{  public static void main(string[] args){    simple.go();  }}

  调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示.一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在java的类库中大量的静态方法正是出于此目的而定义的.

静态变量

  静态变量与静态方法类似.所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了.看下面这段代码:

class value{  static int c=0;  static void inc(){    c++;  }}class count{  public static void prt(string s){    system.out.println(s);  }  public static void main(string[] args){    value v1,v2;    v1=new value();    v2=new value();    prt("v1.c="+v1.c+"  v2.c="+v2.c);    v1.inc();    prt("v1.c="+v1.c+"  v2.c="+v2.c);    }}

  结果如下:

v1.c=0  v2.c=0v1.c=1  v2.c=1

  由此可以证明它们共享一块存储区.static变量有点类似于c中的全局变量的概念.值得探讨的是静态变量的初始化问题.我们修改上面的程序:

class value{  static int c=0;  value(){    c=15;  }  value(int i){    c=i;  }  static void inc(){    c++;  }}class count{  public static void prt(string s){    system.out.println(s);  }    value v=new value(10);    static value v1,v2;    static{      prt("v1.c="+v1.c+"  v2.c="+v2.c);      v1=new value(27);      prt("v1.c="+v1.c+"  v2.c="+v2.c);      v2=new value(15);      prt("v1.c="+v1.c+"  v2.c="+v2.c);    }


...   下一页
 ·tomcat配置心得及相关资料     »显示摘要«
    摘要:tomcat缺省的connector在8080端口,而且预先有多个webapps,所以不想去动它。但是,想要在80端口发布自己的webapp怎么办呢?有办法:1、首先,在server下建立一个新的service,比如说取名servicea,并且指定其docbase,比如说docbasea(不要与webapps同名)2、然后,为这个servicea建立80端口的connector,并且指定一个hos......
» 本期热门文章:

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