在Java中,變量可以分為實例變量和類變量兩種類型。
實例變量,顧名思義,是屬于對象實例的變量。每個對象都有自己的一份實例變量,它們的值可以互相獨立。實例變量一般定義在類的內部,方法外部,使用public
、private
等關鍵字修飾,具體形式如下:
public class Person{ private String name; private int age; ... }
在上述代碼中,name
和age
就是實例變量,它們屬于對象實例,可以通過new
操作符實例化一個新的Person對象,訪問它們的值,比如:
Person p1 = new Person(); Person p2 = new Person(); p1.name = "張三"; p1.age = 20; p2.name = "李四"; p2.age = 21; System.out.println(p1.name +" "+ p1.age); //輸出"張三 20" System.out.println(p2.name +" "+ p2.age); //輸出"李四 21"
上述代碼中,通過p1.name
和p1.age
、p2.name
和p2.age
訪問兩個對象的實例變量,它們的值互相獨立不會相互影響。
類變量,也叫靜態變量,是屬于類的變量。類的所有實例都共享一份類變量,它們的值是相同的。類變量可以直接通過類名.變量名
的方式訪問,不需要實例化對象。類變量一般定義為static
類型,使用public
、private
等關鍵字修飾,具體形式如下:
public class Circle{ private static double PI = 3.14159; private double radius; ... }
在上述代碼中,PI
就是類變量,它屬于類而不是某個對象實例。可以通過Circle.PI
訪問這個類變量,比如:
Circle c1 = new Circle(); Circle c2 = new Circle(); c1.radius = 1.0; c2.radius = 2.0; double area1 = c1.radius * c1.radius * Circle.PI; double area2 = c2.radius * c2.radius * Circle.PI; System.out.println("area1="+area1); //輸出3.14159 System.out.println("area2="+area2); //輸出12.56636
上述代碼中,通過Circle.PI
訪問類變量,計算圓的面積。變量radius
是實例變量,不屬于類。創建兩個Circle對象,它們的面積不同但PI值都相同。
上一篇java 實參和形參
下一篇ide和java什么意思