Java类加载机制

来源:互联网 发布:linux smaps unmap计算 编辑:程序博客网 时间:2024/06/18 15:22

Java类加载机制 - static关键字

static的一些特性

  1. static成员比类的任何一个实例创建时间都要早,所有没有实例也能访问它
  2. static方法不能使用this关键字
  3. static方法不能被覆盖
  4. 如果父类也有static块,JVM会先加载父类的static,再加载子类的

代码

public class Static {    static int i = 2;    static int s;    static void method(int x) {        System.out.println("x = " + x);        System.out.println("i = " + i);        System.out.println("s = " + s);    }    /**     * 创建一个static块     */    static {        System.out.println("先执行这里,static块被初始化");        s = i * 10;    }    public static void main(String args[]) {        method(2017);    }    /**     * 非静态的内部类     * 1.需要持有对外部类的引用     * 2.能访问外部类的全部成员     * 3.不能脱离外部类实体被创建     */    class C {}    /**     * 静态内部类     * 1.不需要持有对外部类的引用     * 2.只能访问外部类的静态成员     */    static class StaticClass {}}
原创粉丝点击