A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星痕-凌 中级黑马   /  2015-7-16 23:03  /  232 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

成员变量和静态变量的区别?
1.两个变量的生命周期不同
        成员变量随着对象的创建而存在,随着对象被回收而释放。
        静态变量随着类的加载而存在,随着类的消失而消失。
2.调用方式不同
        成员变量只能被对象调用。
        静态变量可以被对象调用,还可以被类名调用。
3.别名不同
        成员变量也称为实例变量。
        静态变量也称为类变量。
4.数据存储位置不同
        成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
        静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
       
注意:1.静态方法只能访问静态成员,如果访问非静态成员,就会报错!
                原因:静态方法和变量存在的时候,对象还不存在,非静态变量也不存在,肯定无法访问。
                P.S.非静态方法既可以访问静态成员,又可以访问非静态成员。
          2.静态方法中不可以写this,super关键字。
            原因:静态方法存在的时候,对象还不存在,this代表的就是调用方法的那个对象,既然不存在,肯定不可以写在静态方法中。
          3.主函数是静态的,主函数特殊之处:
            1).格式是固定的。
                2).被jvm所识别和调用。
        主函数各成分解析:
                public:权限必须是最大的,被jvm调用。
                static:不需要对象调用,直接用主函数所属类名调用即可。命令行窗口中输入:java StaticDemo,实际上就是在执行StaticDemo.main();。
                void:主函数不需要具体的返回值。
                main:函数名,不是关键字,只是一个jvm识别的固定的名字。
                String[] args:这是主函数的参数列表,是一个数组类型的参数,而且元素都是字符串类型。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马