關於靜態方法static方法的一些新發現……

提起靜態方法,我們都曉得用類名+靜態方法名就可以直接調用。但這是引用外部類的靜態方法時這樣直接用類名+靜態方法。但如果在一個類中,如下面的代碼舉例。話說從網上搜到說是從jdk 1.5之後,就可以直接用其靜態方法名就可以直接調用類內部的靜態方法。不用加類名了。

 

public class TestArray {
 public static void main(String[] args) {
  int[] a = new int[args.length];
  for(int i=0; i<args.length; i++) {
   a[i] = Integer.parseInt(args[i]);
  }
  print(a);//直接用其靜態方法名就可以直接調用類內部的靜態方法。不用加類名了。
 }

   public static void print(int[] a) {
   for(int i=0; i<a.length; i++) {
    System.out.print(a[i] + " ");
      }
 }
}

另外,前幾天搞不明白靜態方法的內存分配了呵呵……今天一查,原來java的方法區都在方法區即code segment中,所有的對象都共享這一片代碼區,只有當運行時纔會調用這一片區域的相應的方法。至於如何去找到各自的方法,我想應該是通過類似於指針的東西,通過地址就能找到。對於我說的這些,不敢苟同的大傢伙可以討論呀嘿嘿……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章