成员变量与局部变量
2016-04-05 18:54
295 查看
在类体中变量定义部分声明的是成员变量
在方法体中声明的变量和方法称为局部变量
1,声明成员变量
【修饰符】【static】【final】<变量类型><变量名>;
可选 可选
[b]可选 必选 必选[/b]
[b]修饰符:用于指定变量的被访问权限,public protected private[/b]
[b]static: 用于指定该成员变量为静态变量,可以直接通过类名访问。如果没static则表示该成员变量为实例变量[/b]
[b]final:用于指定该成员变量的取值为不可变的常量[/b]
[b]变量类型:就是指定变量的数据类型[/b]
[b]变量名:就是成员变量的名称,变量名应是合法的标识符[/b]
[b]例题:[/b]
[b]在类中声明三个成员变量[/b]
[b]public class Apple(){[/b]
[b]public String color;//声明公共变量color[/b]
[b]public static int count;//声明静态变量count[/b]
[b]public final boolean MATURE=true;//声明常量MATURE并赋值[/b]
[b]public static void main(String 【】args){[/b]
[b]System.out.println(Apple.count);//类名直接调用静态变量[/b]
[b]Apple apple=new Apple();[/b]
System.out.println(apple.color);
System.out.println(apple.MXTURE);
[b]}[/b]
[b]}[/b]
[b]静态变量与实例变量的区别:运行时虚拟机JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的[/b]
[b]内存分配,可以直接通过类名访问静态变量;[/b]
实例变量在每运行一次,就会为该实例变量分配一次内存
2声明局部变量
注意:局部变量只能用final关键字
【final】<变量类型><变量名>;
举例:
在成员方法grow()中声明两个局部变量
public void grow(){
final boolean STATE;//声明常量STATE
int age;//声明局部变量age
}
[b]3变量的有效范围[/b]
[b]就是该变量在代码中的作用区域,在区域外不能直接访问变量。[/b]
[b](1)成员变量:在类中声明,在整个类中有效[/b]
[b](2)局部变量:在方法内或者是方法内的复合代码块“{ }之间的代码”中声明的,在复合代码块中间声明的[/b]
[b]在当前代码块有效;在方法内声明的在这个方法内部都有效;[/b]
[b]举例:[/b]
[b]public class Olympics{[/b]
[b]private void China(){[/b]
[b]int medal-CN=100;[/b]
[b]if(medal-CN<1000){[/b]
[b]int gold=50;[/b]
[b]medal-CN+=50;[/b]
[b]medal-All-=150;[/b]
[b]}[/b]
[b]}[/b]
[b]}[/b]
在方法体中声明的变量和方法称为局部变量
1,声明成员变量
【修饰符】【static】【final】<变量类型><变量名>;
可选 可选
[b]可选 必选 必选[/b]
[b]修饰符:用于指定变量的被访问权限,public protected private[/b]
[b]static: 用于指定该成员变量为静态变量,可以直接通过类名访问。如果没static则表示该成员变量为实例变量[/b]
[b]final:用于指定该成员变量的取值为不可变的常量[/b]
[b]变量类型:就是指定变量的数据类型[/b]
[b]变量名:就是成员变量的名称,变量名应是合法的标识符[/b]
[b]例题:[/b]
[b]在类中声明三个成员变量[/b]
[b]public class Apple(){[/b]
[b]public String color;//声明公共变量color[/b]
[b]public static int count;//声明静态变量count[/b]
[b]public final boolean MATURE=true;//声明常量MATURE并赋值[/b]
[b]public static void main(String 【】args){[/b]
[b]System.out.println(Apple.count);//类名直接调用静态变量[/b]
[b]Apple apple=new Apple();[/b]
System.out.println(apple.color);
System.out.println(apple.MXTURE);
[b]}[/b]
[b]}[/b]
[b]静态变量与实例变量的区别:运行时虚拟机JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的[/b]
[b]内存分配,可以直接通过类名访问静态变量;[/b]
实例变量在每运行一次,就会为该实例变量分配一次内存
2声明局部变量
注意:局部变量只能用final关键字
【final】<变量类型><变量名>;
举例:
在成员方法grow()中声明两个局部变量
public void grow(){
final boolean STATE;//声明常量STATE
int age;//声明局部变量age
}
[b]3变量的有效范围[/b]
[b]就是该变量在代码中的作用区域,在区域外不能直接访问变量。[/b]
[b](1)成员变量:在类中声明,在整个类中有效[/b]
[b](2)局部变量:在方法内或者是方法内的复合代码块“{ }之间的代码”中声明的,在复合代码块中间声明的[/b]
[b]在当前代码块有效;在方法内声明的在这个方法内部都有效;[/b]
[b]举例:[/b]
[b]public class Olympics{[/b]
[b]private void China(){[/b]
[b]int medal-CN=100;[/b]
[b]if(medal-CN<1000){[/b]
[b]int gold=50;[/b]
[b]medal-CN+=50;[/b]
[b]medal-All-=150;[/b]
[b]}[/b]
[b]}[/b]
[b]}[/b]
相关文章推荐
- opencv之Mat图像左右移
- Codeforces Round #251(Div. 2) 439A. Devu, the Singer and Churu, the Joker 水题
- jquery 1.11 attr("disabled" 无效
- String类
- 多线程使用总结
- 第五周 项目1 三角形类雏形(1)
- openwrt开发<1>内核编译
- 第6周项目2(2)画出变量占用的内存及值得变化
- 时间类(2)
- 详解 CSS 属性 - 伪类和伪元素的区别
- Intent常用flag之FLAG_ACTIVITY_CLEAR_TOP
- Spring WebSocket
- linux shell中单引号、双引号和没有引号的区别
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
- 内存泄漏查找c++ new delete
- php生成mysql数据字典
- Hadoop基础教程之搭建开发环境及编写Hello World
- Hadoop-2.7.1完全分布式集群搭建完整版
- 第2周项目3-小试循环
- 第六周项目2-带武器的游戏角色