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

© 906822773 中级黑马   /  2014-6-24 20:50  /  1036 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

static 成员是不能被其所在class创建的实例访问的     这句话是什么意思?

2 个回复

正序浏览
声明为static的变量实质上相当于C中的全局变量;
2. static方法中只能访问其所在类或其他类的静态成员或静态方法;如果是被访问的是静态成员,可以访问该成员的静态或非静态方法;
3. static方法中的成员可以不被声明成静态,因为其生命周期和该方法一致;
4. static方法不能以任何方式访问this或super;
5. static成员可以用static块来初始化:
static {
System.out.println("Static block initialized.");
b = a * 4;
}
   当对静态成员进行引用时,都会先执行static块语句,不管static块和静态成员位于程序代码中顺序如何;
6. 在JDK 1.4中,static成员是可以被其所在class创建的实例访问的,但编译时会提出警告;
7. 当第一次对含静态成员的类进行加载时,会首先初始化其父类的静态成员,再初始化其自己的静态成员;
8. 通常一个类不允许声明为静态的,但内部类却可以。其使用同类的静态成员,不需要对象即可引用;
9. 在类的继承中,动态成员只能被隐藏而不会被覆盖。
回复 使用道具 举报
关键字static:
1、随着类的加载而加载,一般情况下类在加载的时候并没有创建对象,所有对象不能调用。
             (对象:是该类事物的具体存在的个体。也叫做实例。)
2、优先于对象的创建而存在
3、能被类名直接调用
4、被所有对象共享的资源
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马