9 16靜態方法和非靜態方法

2021-09-27 04:01:31 字數 601 閱讀 4200

靜態方法和非靜態方法

1、靜態方法屬於類所有,類例項化前即可使用;

2、非靜態方法可以訪問類中的任何成員,靜態方法只能訪問類中的靜態成員;

3、因為靜態方法在類例項化前就可以使用,而類中的非靜態變數必須在例項化之後才能分配記憶體;

4、static內部只能出現static變數和其他static方法!而且static方法中還不能使用this等關鍵字,因為它是屬於整個類;

5、靜態方法和靜態變數建立後始終使用同一塊記憶體,而使用例項的方式會建立多個記憶體。

6、靜態方法效率上要比例項化高,靜態方法的缺點是不自動進行銷毀,而例項化的則可以做銷毀;

靜態方法直接可以呼叫,非靜態方法需要new乙個新物件 才可使用。

tostring方法:

tostring()方法返回反映這個物件的字串

因為tostring方法是object裡面已經有了的方法,而所有類都是繼承object,所以「所有物件都有這個方法」。

它通常只是為了方便輸出,比如system.out.println(xx),括號裡面的「xx」如果不是string型別的話,就自動呼叫xx的tostring()方法。

靜態方法和非靜態方法

首先,兩者本質上的區別是 靜態方法是在類中使用staitc修飾的方法,在類定義的時候已經被裝載和分配。而非靜態方法是不加static關鍵字的方法,在類定義時沒有占用記憶體,只有在類被例項化成物件時,物件呼叫該方法才被分配記憶體。其次,靜態方法中只能呼叫靜態成員或者方法,不能呼叫非靜態方法或者非靜態成...

靜態方法和非靜態方法

靜態方法和非靜態方法 其次,靜態方法中只能呼叫靜態成員或者方法,不能呼叫非靜態方法或者非靜態成員,而非靜態方法既可以呼叫靜態成員或者方法又可以呼叫其他的非靜態成員或者方法。例子1 靜態方法的main方法訪問類中的非靜態成員方法。class test public static void main s...

靜態和非靜態方法 呼叫靜態和非靜態方法 原創

在學習php物件導向的時候,遇到了一些問題 class test1 在test1類中,定義了乙個test方法。一般呢,想要呼叫test方法的話,是通過例項化乙個物件來呼叫test方法的。比如 aaa.php php 正常的方式訪問普通方法test class test1 new new test1 ...