作用域相关知识
在java中,主要的变量就是属性(成员变量)和局部变量
1.局部变量一般是指成员方法(新建类中方法里面)中定义的变量
2.java中作用域的分类:
全局变量(类里面的变量(但方法外面)):也就是属性,作用域为整个类
局部变量:也就是除了属性之外的其他变量,作用域为定义它的代码中(换句话:所谓局部变量也就是新建类中,在方法里面的变量)
4.全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值,才能使用。
作用域注意事项和使用细节:
1.属性和局部变量可以重名,访问时遵循就近原则。
2.在同一个作用域(方法内)中,比如在同一个成员方法中,两个局部变量,不能重名。
3.属性声明周期比较长,伴随着对象的创建而创建,伴随着代码块的结束而结束。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而结束
4.作用域范围不同:全局变量(属性)可以被本类使用,或其他类使用(通过对象调用);局部变量只能在本类中对应的方法中使用。
1 public class ZuoYonYu{
2 public static void main (String[] args){
3
4 Person p1 = new Person();
5 Course can = new Course();
6 can.test();//第一种调用其他类的方法
7 can.test2(p1);//第二种跨类调用其他类的方法
8 }
9 }
10
11 class Course{
12 public void test(){
13 //全局变量(属性)可以被本类使用,或其他类使用(通过对象调用)
14 //去调用下面Person类中的属性
15 Person p1 = new Person();
16 System.out.println(p1.name);
17 }
18 public void test2(Person p){
19 System.out.println(p.name);
20 }
21 }
22
23
24 class Person{
25 String name ="jack";//全局变量(属性)
26
27 public void say(){
28 //属性、变量和局部变量可以重名,访问时遵循就近原则
29 String name ="liMing"; //局部变量
30 System.out.println("say()name" +name);
31 }
32 }
5.修饰符不同:全局变量(属性)可以加修饰符,局部变量不可以假修饰符;
想多了都是问题,做多了才是答案
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南