文章目录 作用域细节注意 作用域 在java中,主要变量就是成员变量和局部变量一般局部变量指的是成员方法中定义的变量作用域的分为全局变量和局部变量,全局变量的作用域在整个类体 ;除了属性之外的都是局部变量,作用域只能用于某块全局变量可以不赋值,直接使用,有默认值,但局部变量没有默认值所以必须赋值, 才能使用 public class text{ public static void main(String[] args) { } } class Cat{ int age=10;//全局变量,作用整个类体 public void cry() { //n 和 name 都是局部变量 //n 和 name的作用域都在cry方法中 int n =10; String name= "jack"; } public void eat() { System.out.println("猫的年龄"+age); //此时可以用,age是类中的全局变量 System.out.println("猫的名字"+name); //不可以访问到,因为name是其他方法的局部变量 } } 细节 属性和局部变量可以重名,访问时遵循就近访问在同一个作用域中,比如在同一个方法中,定义的局部变量不能重名,比如说类中的变量和方法中的变量可以重名,同类中不同的方法也可以重名属性生命周期长,伴随对象的创建而创建,伴随对象死亡而死亡,局部变量生命周期短,伴随它的代码块的执行而创建,伴随它的代码块的结束而死亡,比如方法调用时及结束 public class text{ public static void main(String[] args) { } } class Cat{ int age=10; String name; public void cry() { String name= "jack"; } public void eat() { String name = "liLing" //name=liLing,对于cry和eat不同的作用域方法中,可以重名, 对于类和方法相同的变量,采取就近原则 System.out.println("猫的年龄"+age); //age=10 } } 注意 全局变量/属性可以被本类使用,或者其他类使用(通过对象调用)局部变量只能在本类中对应的方法使用全局变量/属性可以加修饰符,局部变量不可以加修饰符