Static就是静态的,不允许子孙类中对此方法进行Override超越
解决方案 »
- 使用mina做TCP数据转发器的问题
- notify,wait,3个以上线程的时候出现的一个问题
- 望高手能以下面例子解释下锁机制
- 有关JAVA读取不同格式文档的问题,请各位大虾进来给小弟点建议。来者都有分!!!!
- 奇怪!!!jdk5的doc里没有AbstractStringBuider这个类?谁能给各解释!!!
- 在哪里有SL275_SG.pdf,SL285_SG.pdf下载?
- 如何通过File类得到文件的后缀名?
- about Date format in JTable
- 怎么捕获另外一个class的出错异常?
- Thread中的Blocking是什么意思?有什么作用?并举个例子说明
- 那有中文的java api下载???
- Javareg用后出现的问题
**********Code1**********
class TstApp{
public static void main (String args[]){
Next_Level(args[0]);
}
public void Next_Level(String Incoming_String){
System.out.println(Incoming_String);
}
}
通不过编译
**********Code2**********
class TstApp{
public static void main (String args[]){
TstApp xx=new TstApp();
xx.Next_Level(args[0]);
}
public static void Next_Level(String Incoming_String){
System.out.println(Incoming_String);
}
}
通过
**********Code3**********
class TstApp{
public TstApp(){
Next_Level("54xx");
}
public static void main (String args[]){
TstApp xx=new TstApp();
}
public void Next_Level(String Incoming_String){
System.out.println(Incoming_String);
}
}
通过
code2因为两个都是static,所以直接可以调用,因为在装入该类时,该方法已在内存中,而code1显然不行,code3因为调用的main函数已经生成对象xx,所以可以通过。
C/C++中的全局变量是在程序运行时就一定存在的(专业一点是指在main入口点之前就得初始化),java中static变量是要用到这个类的时候才会去初始化才存在的,更节约?:)
C/C++中的全局函数也一样是程序一运行就存在的,java 中的static 方法一样要等到使用这个类时才存在,而且拥有这个类的命名空间,比C/C++中更方便,因为不同的类可以有一模一样名称的static方法,可以从类名来分开这两个全局函数(这就是命名空间的用法)。从技术一点的角度来说,static 的方法的参数表中不象其他类中的方法一样有一个隐含的this指针,所以在编译时就确定下来,不在类的vtable里出现,不需动态绑定,是静态绑定。有静态类的存在,一样是不用不存在,用的时候就创建,其它一切同上。
啊,我正在练打字,自我感觉进步很快呀。:)
哈哈可是我却没有发现我的文字?!
to 54xx():
上次问这个问题的是你吗?
也是三段代码比较的,有关static的
我不说了,上面那么多大侠全给讲了,
我靠什么拿分?!
Static方法是可以重写的。不信你可以试试!
二:调用静态函数,ok.
三:在静态函数(main)中生成了类实例,所以可以执行Next_Level.