黑马程序员技术交流社区

标题: static 用法 [打印本页]

作者: 906822773    时间: 2014-6-24 20:50
标题: static 用法
static 成员是不能被其所在class创建的实例访问的     这句话是什么意思?
作者: 从未有过的晴天    时间: 2014-6-24 21:02
关键字static:
1、随着类的加载而加载,一般情况下类在加载的时候并没有创建对象,所有对象不能调用。
             (对象:是该类事物的具体存在的个体。也叫做实例。)
2、优先于对象的创建而存在
3、能被类名直接调用
4、被所有对象共享的资源
作者: 哇塞哇    时间: 2014-6-24 21:17
声明为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. 在类的继承中,动态成员只能被隐藏而不会被覆盖。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2