java中局部变量和全局变量
全局变量:有默认设置,没有给值也能使用,全局变量默认值 double型:0.0,Boolean型:false,int型:0,char型:空字符
局部变量:必须设置默认值,只有赋值了在栈中才有了自己的空间
局部变量用来临时保存数据(在类的方法中定义),只能在当前方法中使用,没有默认值,所以必须赋值,在该方法当中不可以出现拥有相圃名称的局部变量;
只要不是static修饰的方法都是对象方法,必须new出来对象来使用。
Test中的非静态方法,在 Test1类中必须new出Test的对象才能使用add()的方法。
jvm原理
只有main方法才能调用其他的静态方法,是一个主方法,入口
只有main方法(静态)才能调用其他的静态方法**
局部变量:方法调用完就失效**
static 的作用
(加static是类属性)
(不加static是对象属性) 都叫成员变量
static boolean don; //(加static是类属性)
boolean don;//(不加static是对象属性) 都叫成员变量
使用Test对象属性时:Test中必须要有static age属性才能使用
Test test = new Test();
System.out.println("age:"+test.age);
使用成员变量时:必须new创建一个age的对象,才能使用age的值
注意:全局变量和局部变量同名时
当全局变量和局部变量同名时,main方法中调用该方法时,局部变量会覆盖全局变量。
常量:final
static final int count=10; //例如 PI=3.14不可变
值不可变,且定义的时候必须要给初始值,全局和局部都可以设置
和static资源一样,不需要new对象出来时才使用。
注意:局部常量也存在常量池中,堆中的方法中有常量(例final int a)存着的是a的地址,值在常量池中。
特点:
-
使用finnal该关键字来定义常量
-
常量定义时必须赋值
-
值一旦定义不可修改
-
用大写定义常量,多个单词时用下划线来衔接
例如:对象里面的局部常量调取过程
版权声明:本文为qq_45830276原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。