Posted on 2006-05-31 22:58
hays(海纳百川) 阅读(674)
评论(4) 编辑 收藏
今天看了JAVA2入门经典的第一章,再次编写了HelloWorld这一经典的程序. 扫描完代码,我考虑为什么Static 会出现在public static void mian()中.不知道对不对,我认为main 做为静态方法出现就是告诉编译器不用创建这个HelloWorld对象就能调用main方法.
在程序中我们经常会看到Static 方法,这些方法可以用类名直接调用而不用实例化对象.Static方法中的变量必须是静态的Static... 静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。
Static 变量和fianl变量的区别是什么一直我不太清楚的地方,今天在网上查了下,发现其实也是挺好理解的...Static 就象是C语言的
全局变量,而fianl就是C语言的
宏定义.Static 变量被所有它所在的类的对象所共有,也就是说在对象初试化的时候只会给类的Satic 变量分配一个存储空间.下边举个例子来说明:
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=0
v1.c=1 v2.c=1
在这里,v1.inc()方法改变了静态变量c,(v2没有改变c),可见V1,V2是共享c的.
fianl 变量就是一个在初始化后就不能再改变了,是一个定值;fianl 方法不能被继承;fianl 类是"叶子类"也不能被继承;