Hello,大家好!我是程序员阿飞!今天呢,告诉大家一个好消息以及一个坏消息。好消息是我拿到了第一家公司的offer,坏消息是因为各种原图最后拒绝了。总之,希望这家公司以后的发展越来越好吧!好了,进入今天的主题:变量。

     1、类变量、成员变量和局部变量

     类变量:定义在类中,方法体之外。但是必须有static来修饰变量,静态成员属于整个类。可以通过对象名或者类名来调用。

     public  class  Test{

        static int i = 0; //类变量

        public void  print(){

            //其他代码

            }

    }

    成员变量:定义在类中,方法体之外。成员变量在创建对象时实例化,同时可被类中的方法、构造方法或者特定的语句块访问。

    public calss Test{

        int i = 0;//成员变量

        public void print(){

            //其他代码

        }

    }

     局部变量:在方法、构造方法以及语句块中定义的变量,其声明和初始化在方法中实现,在方法结束后自动销毁。

     public calss Test{

            public void print(){

                int i = 0;//局部变量

                //其他代码

            }

        }

    

    成员变量和类变量的区别:

          1、两个变量的生命周期不同

                   成员变量随着对象的创建而存在,随着对象的回收而释放。

                   静态变量随着类的加载而存在,随着类的消失而消失。

          2、调用方式不同

                  成员变量只能被对象调用。

                  静态变量可以被对象调用,还可以被类名调用。

          3、别名不同

                  成员变量也称为实例变量。

                  静态变量也称为类变量。

          4、数据存储位置不同

                 成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

                 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

        参考地址:

    2、成员变量和方法作用域

同类 同包
子类 其他包
private
default
protected
public