一:基本使用
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为sakurass
Sysye.out.printtln(name);
}
}
在同一个作用域中,比如同一个成员方法中,两个局部变量不能重名。
class person{
String name = "sakura";
public void say(){
String name = "sakurass";
String name
Sysye.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 name
Sysye.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 }
- **修饰符不同**
- **全局变量:属性可以加修饰符**
- **局部变量:局部变量不可以加修饰符**
```java
class person{
//全局变量
private String name;
public void eat(){
public int num ;
}
}