Java語言支持的變量類型有:
1.類變量(靜態變量):獨立於方法之外的變量,用 static 修飾。
2.實例變量:獨立於方法之外的變量,不過沒有 static 修飾。
3.局部變量:類的方法中的變量。
public class Variable{ static int allClicks=0; // 類變量 String str="hello world"; // 實例變量 public void method(){ int i =0; // 局部變量 } }
靜態變量: 如果有數據需要被共享給所有對象使用時,那么就可以使用static修飾變量。
靜態變量的訪問方式:
方式1: 可以使用對象進行訪問。格式: 對象.變量名。
方式2: 可以使用類名進行訪問。格式: 類名.變量名;
注意:
1. 非靜態的成員變量只能使用對象進行訪問,不能使用類名進行訪問。
2. 千萬不要為了方便訪問數據而使用static修飾成員變量,只有成員變量的數據是真正需要被共享的時候才使用static修飾。
靜態的成員變量與非靜態的成員變量的區別:
一. 作用上的區別:
1. 靜態的成員變量的作用共享一個 數據給所有的對象使用。
2. 非 靜態的成員變量的作用是描述一類事物的公共屬性。
二. 數量與存儲位置上的區別:
1. 靜態成員變量是存儲方法 區內存中,而且只會存在一份數據。
2. 非靜態的成員變量是存儲在堆內存中,有n個對象就有n份數據。
三. 生命周期的區別:
1. 靜態變量數據是隨着類的加載而存在,隨着類文件的消失而消失。
2.非靜態的成員數據是隨着對象的創建而存在,隨着 對象被垃圾回收器回收而消失。