淘先锋技术网

首页 1 2 3 4 5 6 7

在Java中,变量可以分为实例变量和类变量两种类型。

实例变量,顾名思义,是属于对象实例的变量。每个对象都有自己的一份实例变量,它们的值可以互相独立。实例变量一般定义在类的内部,方法外部,使用publicprivate等关键字修饰,具体形式如下:

public class Person{
private String name;
private int age;
...
}

在上述代码中,nameage就是实例变量,它们属于对象实例,可以通过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.namep1.agep2.namep2.age访问两个对象的实例变量,它们的值互相独立不会相互影响。

类变量,也叫静态变量,是属于类的变量。类的所有实例都共享一份类变量,它们的值是相同的。类变量可以直接通过类名.变量名的方式访问,不需要实例化对象。类变量一般定义为static类型,使用publicprivate等关键字修饰,具体形式如下:

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值都相同。