• 技术文章 >Java >Java入门

    java深入学习之static静态代码块

    王林王林2019-11-27 14:00:00转载1058

    静态代码块

    static可以修饰属性、方法、内部类、代码块。

    静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数。

    有一个地方的静态代码被使用,那么所有的静态代码块都会被调用。

    相关视频教程推荐:java免费视频教程

    示例如下:

    父类

    public class Human {
        static {
            System.out.println("2.父类中的静态代码块");
        }
        public String name;
        public Human() {
            System.out.println("1.父类中的构造方法");
        }
    
        public static void test() {
            System.out.println("6.父类中的静态方法");
        }
    }

    子类

    public class Man extends Human {
        static {
            System.out.println("4.子类中的静态代码块");
        }
        public Man() {
            System.out.println("3.子类中的构造方法");
        }
        public static void doo() {
            System.out.println("5.子类中的静态方法");
        }
    }

    主类

    public class Main {
        public static void main(String[] args) {
            // Human human = new Man(); 输出2 4 1 3
            
            //父类的类名调用父类的方法
    		//Human.test();      
    		//输出2 6   在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存    与子类无关
            
            //子类的类名调用子类的方法
            //Man.doo();       
           // 输出2  4  5  在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关
             
             //子类的类名调用父类的方法
             //Man.test();   
            // 输出  2 6  注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法,
            //但是父类不能调用子类的方法  所以在Main中不可直达Man中的的方法
    
            //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法
            //Man.test();    输出  2 6 4 5
        }
    }

    静态代码块内容先执行(但只执行一次),接着执行父类构造方法,然后执行子类构造方法。

    本文来自java入门程序栏目,欢迎大家来共同交流学习!

    以上就是java深入学习之static静态代码块的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:java static 静态代码块
    上一篇:java中的比较器comparable和Comparator的区别 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中如何使用if语句判断字符串是否相等• java中的比较器comparable和Comparator的区别• java中如何遍历ArrayList集合中的元素并输出• java中遍历ArrayList集合的四种方式
    1/1

    PHP中文网