全国服务热线:400-6263-721

位置:郑州中公优就业IT培训学校 > 学校动态 > Java中的作用域

Java中的作用域

来源:郑州中公优就业IT培训学校时间:2022/12/12 9:52:25

  在计算机程序中,声明在不同地方的变量具有不同的作用域,例如局部变量,全局变量等。在java中作用域是有花括号的位置决定的,它决定了其变量名的可见性与生命周期。

  java中变量类型主要有3种:成员变量,静态变量和局部变量。

  类的成员变量的作用域与类的实例化对象的作用域相同,当类被实例化时,成员变量就会在内存中分配空间并初始化,直到该实例的生命周期结束,成员变量的生命周期才会结束。

  被static修饰的成员变量被成为静态变量或全局变量,静态变量不依赖特定的实例,而是都有实例共享的,它是在类被加载的时候jvm就会给类的静态变量分配存储空间。

  局部变量就是方法中定义的变量,其可见性和生命周期是所在的花括号。

  成员变量或方法也有4种作用域:

  1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

  2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

  3、缺省

  变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问

  4、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

  访问修饰符作用域/范围当前类同一package子孙类其他package

  这四种修饰符不能用来修饰局部变量,private、protected不能用来修饰类(只有public、sbstract、final可以用来修饰类)。

  一个java文件中较多只能有一个类是public修饰,并且这个类名必须与文件名保持一致。

  如果java文件中的所有类都没有用public修饰,那么文件名可以与类名不一致。。

  静态修饰符的特点:

  static是一个修饰符,用于修饰成员(成员变量和成员函数)

  静态成员随着类的加载而加载。

  静态成员于对象存在。

  静态成员被所有对象所共享

  静态成员多了一个中调用方式,可以被类名直接调用。

  静态使用的注意事项。

  静态方法只能访问静态成员, 非静态方法既可以访问静态又可以访问非静态。

  静态方法中不可以定义this,super关键字。因为this代表是对象。而静态存在时,有可能没有对象。所以静态方法运行时,this是没有任何对象代表的。

  简单说,先进内存的数据不可以访问后进内存的数据,可是后进内存数据可以访问先进内存的数据。

  主函数是静态的

  静态的优缺点

  优点: 静态成员多了一种调用方式。可以直接被类名调用 格式 :类名.静态成员。也可以被对象调用。

  弊端 : 静态方法只能访问静态成员,出现了访问局限性。

  静态修饰的数据对象共享的数据,存放在方法区的静态区中。

  非静态的数据,是每一个对象特有数据。存放在对象的所属的堆内存中。

  当成员变量被静态修饰后,和非静态成员变量的区别:

  静态变量也称为类变量,也就是直接可以被类名调用的变量。这个变量是所属于类的。

  非静态变量成为成员变量,或者实例变量,是被对象调用的,是所属具体对象的。

  静态变量随着类的加载而加载,也意味着随着类的消失而消失。生命周期较长。

  实例变量,随着对象的创建而加载,随着对象的消失而消失。按照对象的生命周期而存在。

  静态变量存储在方法区的静态区中。

  实例变量存在于对象所属的堆内存中。

  静态变量数据,被所有对象所共享。

  实例变量是对象中的特有数据

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/2286/news/583171/违者必究! 以上就是郑州中公优就业IT培训学校 小编为您整理 Java中的作用域的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721