JAVA全系列 教程
3762个小节阅读:7089k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
变量有三种类型:局部变量、成员变量(也称为实例变量)和静态变量。
局部变量、成员变量、静态变量的核心区别
类型 | 声明位置 | 从属于 | 生命周期(作用域) |
---|---|---|---|
局部变量 | 方法或语句块内部 | 方法/语句块 | 从声明位置开始,直到方法或语句块执行完毕,局部变量消失 |
成员变量(实例变量) | 类内部,方法外部 | 对象 | 对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失; |
静态变量(类变量) | 类内部,static修饰 | 类 | 类被加载,静态变量就有效;类被卸载,静态变量消失。 |
老鸟建议
成员变量和静态变量不是目前重点,不要过多纠结理解与否。我们学习面向对象时,再重点讲解成员变量和静态变量。
· 局部变量(local variable)
方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
【示例】局部变量的声明
xxxxxxxxxx
public void test() {
int i;
int j = i+5 ; // 编译出错,变量i还未被初始化
}
xxxxxxxxxx
public void test() {
int i;
i=10;
int j = i+5 ; // 编译正确
}
· 成员变量(也叫实例变量 member variable)【暂不用掌握,讲面向对象再说】
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。
表2-3 实例变量的默认初始值 | |
---|---|
数据类型 | 实始值 |
int | 0 |
double | 0.0 |
char | ‘\u0000’ |
boolean | false |
【示例2-8】实例变量的声明
xxxxxxxxxx
public class Test {
int i;
}
· 静态变量(类变量 static variable)【暂不用掌握,讲面向对象再说】
使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。 (注:讲完内存分析后我们再深入!先放一放这个概念!) 如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值,如表 2-3所示。
注意:
目前大家只需要了解基本的分类概念即可。不需要掌握,后面讲了方法、对象、类以后再深入学习。
实时效果反馈
1. 如下代码中,哪个变量是局部变量:
xxxxxxxxxx
public class Test {
int a=1;
static int b=2;
public void test() {
int c=10;
}
}
A a
B b
C c
D a,b,c都是局部变量
答案
1=>C