Java变量的作用域

在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。

类级变量又称全局级变量或静态变量,需要使用static关键字修饰,你可以与 C/C++ 中的 static 变量对比学习。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。

对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。

方法级变量就是在方法内部定义的变量,就是局部变量。

块级变量就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如 if、for 语句的块。块是指由大括号包围的代码,例如:

  1. {
  2. int age = 3;
  3. String name = “www.ryxxff.com”;
  4. // 正确,在块内部可以访问 age 和 name 变量
  5. System.out.println( name + “已经” + age + “岁了”);
  6. }
  7. // 错误,在块外部无法访问 age 和 name 变量
  8. System.out.println( name + “已经” + age + “岁了”);

说明:

  • 方法内部除了能访问方法级的变量,还可以访问类级和实例级的变量。
  • 块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。
  • 方法级和块级的变量必须被显示地初始化,否则不能访问。

演示代码:

 
  1. public class Demo{
  2. public static String name = “微学苑”; // 类级变量
  3. public int i; // 对象实例级变量
  4.  
  5. // 属性块,在类初始化属性时候运行
  6. {
  7. int j = 2;// 块级变量
  8. }
  9.  
  10. public void test1() {
  11. int j = 3; // 方法级变量
  12. if(j == 3) {
  13. int k = 5; // 块级变量
  14. }
  15. // 这里不能访问块级变量,块级变量只能在块内部访问
  16. System.out.println(“name=” + name + “, i=” + i + “, j=” + j);
  17. }
  18.  
  19. public static void main(String[] args) {
  20. // 不创建对象,直接通过类名访问类级变量
  21. System.out.println(Demo.name);
  22.  
  23. // 创建对象并访问它的方法
  24. Demo t = new Demo();
  25. t.test1();
  26. }
  27. }

运行结果:
程序员生活网
name=程序员生活网, i=0, j=3

4. Java this关键字详解
5. Java方法重载
6. Java类的基本运行顺序
7. Java包装类、拆箱和装箱详解
8. 再谈Java包
9. 源文件的声明规则

四. Java继承和多态
1. 继承的概念与实现
2. Java super关键字
3. 继承中的方法的覆盖和重载
4. 多态和动态绑定
5. instanceof 运算符
6. 多态对象的类型转换
7. Java static关键字
8. Java final关键字

9. Java Object类

五. 面向对象高级特性
1. Java内部类及其实例化
2. 内部类的分类
3. 抽象类的概念和使用
4. 接口的概念和使用
5. 接口和抽象类的区别
6. Java 泛型
7. 泛型通配符和类型参数的范围

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值