在类体中变量定义部分声明的是成员变量
在方法体中声明的变量和方法称为局部变量
1,声明成员变量
【修饰符】【static】【final】<变量类型><变量名>;
可选 可选 可选 必选 必选
修饰符:用于指定变量的被访问权限,public protected private
static: 用于指定该成员变量为静态变量,可以直接通过类名访问。如果没static则表示该成员变量为实例变量
final:用于指定该成员变量的取值为不可变的常量
变量类型:就是指定变量的数据类型
变量名:就是成员变量的名称,变量名应是合法的标识符
例题:
在类中声明三个成员变量
public class Apple(){
public String color;//声明公共变量color
public static int count;//声明静态变量count
public final boolean MATURE=true;//声明常量MATURE并赋值
public static void main(String 【】args){
System.out.println(Apple.count);//类名直接调用静态变量
Apple apple=new Apple();
System.out.println(apple.color);
System.out.println(apple.MXTURE);
}
}
静态变量与实例变量的区别:运行时虚拟机JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的
内存分配,可以直接通过类名访问静态变量;
实例变量在每运行一次,就会为该实例变量分配一次内存
2声明局部变量
注意:局部变量只能用final关键字
【final】<变量类型><变量名>;
举例:
在成员方法grow()中声明两个局部变量
public void grow(){
final boolean STATE;//声明常量STATE
int age;//声明局部变量age
}
3变量的有效范围
就是该变量在代码中的作用区域,在区域外不能直接访问变量。
(1)成员变量:在类中声明,在整个类中有效
(2)局部变量:在方法内或者是方法内的复合代码块“{ }之间的代码”中声明的,在复合代码块中间声明的
在当前代码块有效;在方法内声明的在这个方法内部都有效;
举例:
public class Olympics{
private void China(){
int medal-CN=100;
if(medal-CN<1000){
int gold=50;
medal-CN+=50;
medal-All-=150;
}
}
}