Java 靜態(tài)與動態(tài)的區(qū)別
1、靜態(tài)的屬性是類共同擁有的,而動態(tài)的屬性是類各對象獨立擁有的。
2、靜態(tài)上內(nèi)存空間上是固定的,動態(tài)中內(nèi)存空間在各個附屬類里面分配。
3、分配順序不同,先分配靜態(tài)對象的空間,繼而再對非靜態(tài)對象。
Java 靜態(tài)對象到底有什么好處?
1、靜態(tài)對象的數(shù)據(jù)在全局是唯一的,一改都改。如果你想要處理的東西是整個程序中唯一的,弄成靜態(tài)是個好方法。 非靜態(tài)的東西你修改以后只是修改了他自己的數(shù)據(jù),但是不會影響其他同類對象的數(shù)據(jù)。
2、引用方便。直接用 類名.靜態(tài)方法名 或者 類名.靜態(tài)變量名就可引用并且直接可以修改其屬性值,不用get和set方法。
3、保持數(shù)據(jù)的唯一性。此數(shù)據(jù)全局都是唯一的,修改他的任何一處地方,在程序所有使用到的地方都將會體現(xiàn)到這些數(shù)據(jù)的修改。有效減少多余的浪費。
4、static final用來修飾成員變量和成員方法,可簡單理解為“全局常量”。對于變量,表示一旦給值就不可修改;對于方法,表示不可覆蓋。
代碼示例
class StaticDemo{ static int a = 42; static int b = 99; static void callme(){ System.out.println("a = "+a); } } public class TestNew { public static void main(String[] args) { // TODO Auto-generated method stub StaticDemo.callme(); System.out.println("b = "+StaticDemo.b); } }
推薦教程:《Java教程》