java中實例變量與類變量的區(qū)別?
java中實例變量與類變量的區(qū)別?
1.?實例變量還是類變量他們都是成員變量
2.?成員變量---定義在java類除方法之外的位置
public class Test{
????int ?stuid; ?// 成員變量
????public ?void ?method(){
????}
}
成員變量的特征:
1可以使用訪問修飾【public ?缺省的[不寫]】
public class Test{
????public String stuname;
?????????String ?stuaddress;
????}
2.可以沒有初始值,程序在運行的時候會自動給予默認的初始值,也可以自己設置一個初始值
public class Test{
????public String stuname=”zhangsan”;
????String ?stuaddress;
}
3.?可以在本類中的任何一個方法中使用,忽略方法的訪問修飾
public class Test{
????public String stuname=”zhangsan”;
????public ?void ?method1(){
????????System.out.println(“stuname==”+stuname);
????}
????private void ?test1(){
????????System.out.println(“stuname==”+stuname);
????}
}
實例變量還是類變量他們都是成員變量
實例變量---成員變量---最普通的成員變量
實例變量具有成員變量基本特征
1.沒有使用static修飾的成員變量
2可以使用訪問修飾【public ?缺省的[不寫]】
3.可以沒有初始值,程序在運行的時候會自動給予默認的初始值,也可以自己設置一個初始值
4.可以在本類中的任何一個方法中使用,忽略方法的訪問修飾
5.在其他的類中使用實例變量,只能通過對象訪問
public class Test{
????public String stuname=”zhangsan”; //成員變量---實例變量
}
public ?class ?Other{
????public ?static ?void ?main(String ?args[]){
????????//創(chuàng)建Test類的對象
????????Test ?t1=new Test();
????????System.out.println(t1.stuname); //zhangsan
????????}
}
6.不能在用一個類的多個對象之間共享數(shù)據(jù)
public class Test{
????public String stuname=”zhangsan”; //成員變量---實例變量
}
public ?class ?Other{
????public ?static ?void ?main(String ?args[]){
????????//創(chuàng)建Test類的對象
????????Test ?t1=new Test();
????????System.out.println(t1.stuname); //zhangsan
????????t1.stuname=”李四”;
????????System.out.println(t1.stuname); //李四
????????Test ?t2=new Test();
????????System.out.println(t2.stuname); //zhangsan
????}
}
類變量--靜態(tài)成員變量---成員變量
使用static修飾符的成員變量
1可以使用訪問修飾【public ?缺省的[不寫]】
2.可以沒有初始值,程序在運行的時候會自動給予默認的初始值,也可以自己設置一個初始值
3.可以在本類中的任何一個方法中使用,忽略方法的訪問修飾
4.在其他類中訪問的時候,可以使用對象,也可以使用類名
public class Test{
????public static ?String stuname=”zhangsan”; //類變量--靜態(tài)成員變量
}
public ?class ?Other{
??????public ?static ?void ?main(String ?args[]){
????????//使用類名
????????System.out.println(Test.stuname); //zhangsan
????????//使用對象
????????Test ?t1=new Test();
????????System.out.println(t1.stuname); //zhangsan
????}
}
5.能同一個類的多個對象之間共享數(shù)據(jù)
public class Test{
????public static ?String ?stuname=”zhangsan”; //類變量--靜態(tài)成員變量
}
public ?class ?Other{
????public ?static ?void ?main(String ?args[]){
????????Test ?t1=new Test();
????????System.out.println(t1.stuname); //zhangsan
????????t1.stuname=”lisi”;
????????System.out.println(t1.stuname); //lisi
????????Test ?t2=new Test();
????????System.out.println(t2.stuname); //lisi
????}
}
實例變量
1.沒有使用static修飾的成員變量
2.可以使用訪問修飾【public ?缺省的[不寫]】
3.可以沒有初始值,程序在運行的時候會自動給予默認的初始值,也可以自己設置一個初始值
4.可以在本類中的任何一個方法中使用,忽略方法的訪問修飾
5.在其他的類中使用實例變量,只能通過對象訪問
6.不能在用一個類的多個對象之間共享數(shù)據(jù)
類變量
1.有使用static修飾的成員變量
2可以使用訪問修飾【public ?缺省的[不寫]】
3.可以沒有初始值,程序在運行的時候會自動給予默認的初始值,也可以自己設置一個初始值
4.可以在本類中的任何一個方法中使用,忽略方法的訪問修飾
5.在其他的類中使用類變量,能通過對象訪問,也可以類名訪問
6.能在用一個類的多個對象之間共享數(shù)據(jù)