在Java語(yǔ)言中,屬性是指類或?qū)ο蟮奶卣骰驙顟B(tài),包括靜態(tài)屬性和普通屬性兩種類型。下面簡(jiǎn)要介紹兩者的區(qū)別:
靜態(tài)屬性是指屬于類的屬性,它在所有實(shí)例對(duì)象中都是相同的值。靜態(tài)屬性不屬于任何一個(gè)具體的實(shí)例,而是屬于類的。因此,當(dāng)一個(gè)靜態(tài)屬性值被改變時(shí),所有使用該屬性的實(shí)例對(duì)象都將受到影響。
public class Person { public static String country = "China"; public String name; } Person p1 = new Person(); System.out.println(p1.country); // China Person.country = "USA"; System.out.println(p1.country); // USA
普通屬性是指屬于對(duì)象的屬性,只有在實(shí)例化時(shí)才會(huì)被創(chuàng)建。普通屬性是一個(gè)獨(dú)立的變量,它屬于對(duì)象的一部分,所以不同的對(duì)象可以擁有不同的屬性值。
public class Person { public String name; public int age; public void print(){ System.out.println(name + "," + age); } } Person p1 = new Person(); p1.name = "Tom"; p1.age = 18; p1.print(); // Tom,18 Person p2 = new Person(); p2.name = "Jerry"; p2.age = 20; p2.print(); // Jerry,20
因此,靜態(tài)屬性和普通屬性的區(qū)別在于:
靜態(tài)屬性屬于類,不屬于任何一個(gè)實(shí)例對(duì)象;而普通屬性則屬于實(shí)例對(duì)象,每個(gè)對(duì)象都可以有自己獨(dú)立的屬性值。