摘要:局部变量定义在方法中的变量。初始值成员变量它存储在堆中,如果没有赋初值,它有默认值整数局部变量要想使用必须手动初始化注意事项局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区
成员变量:定义在类中的变量。
局部变量:定义在方法中的变量。
成员变量在整个类中有效
局部变量只在其声明的方法中有效
2、生命周期成员变量:它属于对象,它随着对象的创建而创建,随着对象的消失而消失
局部变量:使用完马上释放空间
看段代码
void show(int id){ for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.println(id); } } }
这里的id,i,j都是在方法内声明的,因此都是局部变量
id在show方法被调用时它的生命周期开始,方法结束时id消失
j当里层for循环执行时生命周期开始,当里层for结束,j消失
3、存储位置成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才被垃圾回收处理。
局部变量存在于栈内存中,当不在使用时,马上就会被释放。
4、初始值成员变量它存储在堆中,如果没有赋初值,它有默认值
整数byte,short,int,long = 0
char = "u0000"
boolean = false
String = null
float,double = 0.0
局部变量要想使用必须手动初始化
注意事项:
局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
内存分析class Car { //汽车应该具备的属性 String color; //汽车具备的颜色 int num; //汽车跑的行为 public void run(){ System.out.println(color + "的车,轮胎数: " + num + "个,跑起来了"); } } public class CarDemo { public static void main(String[] args) { //创建实体 Car car = new Car(); car.color = "red"; car.num = 4; //指挥车运行,调用格式:对象.对象成员 car.run(); } }
这里car其实是对象的引用,它存储的是一地址,这个地址指向了堆里的一块内存。这里的color和num都是成员变量,null和0是它们的默认值,"red"和4是赋给它们的初始值。
最后再来看个例子
class Variable { int a; //成员变量a,默认值是0 public void test() { int b = 20;//局部变量b,没有默认值,需要初始化 System.out.println(b);//20 int a = 50;//局部变量a,和成员变量a的名称相同 System.out.println(a);//50 } } class VariableDemo { public static void main(String[] args) { Variable variable = new Variable(); System.out.println(variable.a); //0,variable.a访问成员变量 variable.test();//调用成员方法 } }
代码执行结果:
今天就分享到这,后续会继续分享,敬请期待!
声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76952.html
摘要:是完全面向对象的语言,对象具有状态行为和标识。类一一是具有共同特征和行为的一类事物的统称。受保护的,对同一包内的类和所有子类可见。一种通用的内存池,用于存放所有对象。类级变量又称全局级变量或静态变量,需要使用关键字修饰。 java语言的基本特点 java语言是面向对象的高级程序设计语言,它是编译型的语言,Java语言不使用指针,并提供了自动的垃圾回收机制,使得程序员不必为内存管理而担...
摘要:结构体也可以包含结构体,就像内部类访问结构的属性和一样。。我觉得这个需要学下数据结构才能更好理解给数据类型起一个新名字则可以通过对于结构体我可以这样再通过变量名就可以简便的声明结构体变量。文件暂时过了一遍预处理器头文件就是扩展名为的文件。 ...
摘要:但远不止如此,内部类了解外部类,并能与之通信。内部类还拥有其外围类的所有元素的访问权。普通内部类内不能有域和方法。特点普通内部类对象隐式的保存了外部类对象,但嵌套类并非如此。局部内部类可以访问当前代码块内的常量,以及此外围类的成员。 点击进入我的博客 可以把一个类的定义放在另一个类的定义内部,这就是内部类。Java最晦涩的部分之一。内部类看起来就像是一种代码隐藏机制,将类只与其他类的...
摘要:类的成员方法类的成员方法的定义中的使用之静态变量我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。 java类的学习 先上一个代码 package bankCard; import java.util.Scanner; // 银行卡类 public cl...
阅读 1809·2021-09-22 15:55
阅读 3501·2021-09-07 10:26
阅读 601·2019-08-30 15:54
阅读 652·2019-08-29 16:34
阅读 822·2019-08-26 14:04
阅读 3228·2019-08-26 11:47
阅读 2113·2019-08-26 11:33
阅读 2275·2019-08-23 15:17