zoukankan      html  css  js  c++  java
  • 实例变量,局部变量,全局变量,静态全局变量。

    定义:

    实例变量:定义在一个类的各个内部方法之外,是内部方法共享的变量

    局部变量:定义在方法之中的变量,但是这个方法使用的变量,其他方法和类没法使用。

    全局变量:也称为外部变量,它是在函数外部定义的变量,一个程序的所有的java源文件都可用。

    静态全局变量:一程序由多个java源文件组成时,可以用静态全局变量指定某一个java源文件,仅这个java文件可用这变量。

     1 int a,b; //外部变量
     2 static int c;//静态外部变量
     3 
     4 public class Sample
     5 {
     6 
     7 private int a=1; //实例变量
     8 
     9 public void b()
    10 {
    11 int a=2; //局部变量
    12 System.out.println("局部变量:a="+a);
    13 System.out.println("实例变量:a="+this.a);
    14 }
    15 
    16 public void d()
    17 {    
    18 System.out.println("局部变量:a="+a);//实例变量的a=1能套用在这里,局部a=2不能
    19 System.out.println("实例变量:a="+this.a);
    20 }
    21 
    22 }
    23 
    24 public class Sample
    25 {
    26 
    27 private int a=1; //实例变量
    28 
    29 public void b()
    30 {
    31 int a=2; //局部变量
    32 System.out.println("局部变量:a="+a);
    33 System.out.println("实例变量:a="+this.a);
    34 }
    35 
    36 public void d()
    37 {    
    38 System.out.println("局部变量:a="+a);//实例变量的a=1能套用在这里,局部a=2不能
    39 System.out.println("实例变量:a="+this.a);
    40 }
    41 }

     特点:

    局部变量:

    1. 局部变量要先赋值,再进行运算,而实例变量均已经赋初值。(这是局部变量和实例变量的一大区别)
    2. 局部变量不允许范围内定义两个同名变量。实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。
    3. 实例变量和局部变量允许命名冲突。
     

    实例变量:

    1. 实例变量的对象赋值为null,可以 public int形式,系统自动赋值,而局部不行必须要以a=3赋值才开始运算。

    局部变量:

    1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,不成为什么问题,除非使用的是巨大对象的全局变量,调用全局变量的机会变多,所以会略占内存。
    2,当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
    3,当一个java文件要引用另一个java里定义的一个全局变量时就要用extern
    例如 A的java定义一个全局变量int a;   //定义一个全局变量a
           B的java想引用要extern int a;   //声明一个全局变量a          B在开头声明引用,下面的代码就能用此变量了。
     

    静态局部变量:

    1. 静态局部变量始终存在着,也就是说它的生存期为整个源程序
    2. 允许对构造类静态局部量赋初值。若未赋以初值,系统自动赋值,数值型变量自动赋初值0,字符型变量赋空字符。
     
  • 相关阅读:
    css 如何隐藏滚动条
    点击元素之外隐藏
    css3 box-shadow
    video常用功能
    input依次输入密码
    响应式布局基础
    数据库
    面试题
    pandas
    Numpy
  • 原文地址:https://www.cnblogs.com/liyihome/p/3664594.html
Copyright © 2011-2022 走看看