一:基本使用
1:全局变量
也就是属性,作用于整个类体 在定义时可以直接进行赋值
class{int age = 10;//全员变量可以不赋值,直接使用因为有默认值double weight;}
2:局部变量
也就是除了属性之外的其他变量,作用域为定义它的代码块儿中
public void cry(){//一般是指在成员方法中定义的变量//n和nam就是局部变量//作用域在cry方法中int n = 10;String name = "jack";}public void hello(){//局部变量必须赋值后,才能使用,因为没有默认值int num = 1;String address ="青海"}
二:注意事项和细节
属性和局部变量还可以重名,访问时遵循就近原则。
class person{String name = "sakura";public void say(){String name = "sakurass";//此时距离最近的name为sakurassSysye.out.printtln(name);}}
在同一个作用域中,比如同一个成员方法中,两个局部变量不能重名。
class person{String name = "sakura";public void say(){String name = "sakurass";String nameSysye.out.printtln(name);}}
属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。
局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁。即在一次方法调用过程中
public static void main(String[] args){person p1 = new perison();p1.say();//当执行say方法时,say方法中的局部变量就创建//执行结束时,namej局部变量就会销毁,但是全局变量仍然可以使用}class person{String name = "sakura";public void say(){String name = "sakurass";String nameSysye.out.printtln(name);}}
作用域范围不同
- 全局变量:可以被本类使用,或者其他类使用(通过对象调用实现)
局部变量:只能在本类中对应的方法中使用 ```java public static void main(String[] args) { person person = new person();
T t = new T(); t.test(); //第一种跨类访问对象属性的方式
t.test2() //第二种跨类调用访问对象属性的方式 } }
class person{ public String name = “sakura”; }
class T{
public void test(){person person = new person();System.out.println(person.name);}
t’f }
- **修饰符不同**- **全局变量:属性可以加修饰符**- **局部变量:局部变量不可以加修饰符**```javaclass person{//全局变量private String name;public void eat(){public int num ;}}
