靜態方法和非靜態方法的區別總結如下:1、靜態方法屬于類所有,類實例化前即可使用; 2、非靜態方法可以訪問類中的任何成員,靜態方法只能訪問類中的靜態成員; 3、因為靜態方法在類實例化前就可以使用,而類中的非靜態變量必須在實例化之后才能分配內存; 4、static內部只能出現static變量和其他static方法!而且static方法中還不能使用this等關鍵字,因為它是屬于整個類;5、靜態方法效率上要比實例化高,靜態方法的缺點是不自動進行銷毀,而實例化的則可以做銷毀; 6、靜態方法和靜態變量創建后始終使用同一塊內存,而使用實例的方式會創建多個內存。主要區別:靜態方法在創建對象前就可以使用了,非靜態方法必須通過new出來的對象調用。如:public class Per{public static String getType(){return "人類";}public String getName(){return "張三";}}上面這個類中的getType方法,在沒有new對象前這就可以這樣用:String type=Per.getType();//type="人類";而getName方法則不能這樣使用,編譯都不會通過getName必須這樣:Per p=new Per();String name=p.getName();//name="張三";當然,getType方法也可能通過對象調用:String type=p.getType();//type="人類";
新聞熱點
疑難解答