美文网首页Java
Java静态Static

Java静态Static

作者: stefanJi | 来源:发表于2017-05-10 16:24 被阅读1次

    1 static变量--静态变量

    静态变量是随着类加载时被完成初始化的,它在内存中仅有一个,且JVM也只会为他分配一次内存,同时类的所有实例都共享静态变量,可以直接通过类名来访问它

    2 static方法--静态方法

    静态方法可以通过类名直接调用

    静态方法必须实现,也就是说它不能是抽象方法

    3 static代码块--静态代码块

    • 静态代码块会随着类的加载一块执行,而且可以随意放,可以存在于该类的任何地方
    • 静态代码块只会执行一次
    • 如果存在多个静态代码块,则按照顺序依次执行
    class Demo{
        static{
            System.out.println("Demo static code");
        }
        
        public Demo(String string) {
            System.out.println(string + " construct");
        }
    }
    
    public class Main {
        static{
            System.out.println("Main static code 1");
        }
        
        public static void main(String[] args){
            new Demo("demo1");
            new Demo("demo2");
        }
        
        static{
            System.out.println("Main static code 2");
        }
    }
    
    
    输出:
    Main static code 1
    Main static code 2
    Demo static code
    demo1 construct
    demo2 construct
    

    4 static的局限

    1. 只能调用static变量
    2. 只能调用static方法
    3. 不能以任何形式引用thissuper
    4. static变量在定义时必须要进行初始化

    相关文章

      网友评论

        本文标题:Java静态Static

        本文链接:https://www.haomeiwen.com/subject/krsgtxtx.html