ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

作用域相关知识

2022-02-27 19:31:10  阅读:134  来源: 互联网

标签:局部变量 name 作用域 知识 Person 相关 全局变量 属性


在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.修饰符不同:全局变量(属性)可以加修饰符,局部变量不可以假修饰符;

标签:局部变量,name,作用域,知识,Person,相关,全局变量,属性
来源: https://www.cnblogs.com/nzm-2019/p/15943114.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有