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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 完美恋爱 高级黑马   /  2013-11-18 14:11  /  1026 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 完美恋爱 于 2013-11-18 14:13 编辑

静态变量是成员变量吗?如果是,那为什么毕老师的视频里把成员变量和静态变量区分开了呢?

4 个回复

倒序浏览
类的!成员变量被声明为static(称为静态成员变量)!是类的成员变量。
回复 使用道具 举报
静态变量是成员变量吗?如果是,那为什么毕老师的视频里把成员变量和静态变量区分开了呢?
静态变量和成员变量没有所属关系,一个变量被static关键字修饰,就是静态变量
静态变量可以存在成员位置,当做成员变量
也可以存在局部位置,作为成员变量,比如一个方法中的内部类要访问一个局部变量,该变量就必须定义成静态的,为的是将该变量的声明周期延长 比如说下面的代码
class Outer{
     public void mthod{
           static int i = 1;
           class Inner{
               public void show{
                   System.out.prinln(i);
               }
           }
     }
}
回复 使用道具 举报
静态变量当然是成员变量,只是被static修饰的成员变量。

而把它俩分开是因为有区别:
静态变量,在内存中,是所有对象共享的,而实例变量则是自己拥有自己的;
实例变量需要通过类的实例对象来调用,而静态变量,只要类名就可以调用了。
回复 使用道具 举报
以static 修饰词修饰的成员变量为类变量,以static为修饰词的方法是类方法。当声明一个成员是static时,可以在类的任何对象创建之前访问它,而无需引用任何对象。static成员最常见的是main()方法,因为在程序开始执行时,必须调用它。
被声明为static的变量本质上是全局变量。当声明该类的对象时,不生成static变量的副本,类的所有实例共享同一个static变量。
声明为static的方法有如下限制:
1.它们仅可以调用其它的static方法。
2.它们只能访问static数据。
3.它们不能以任何方式引用this或super.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马