zoukankan      html  css  js  c++  java
  • java中的代码块

    代码块分为普通代码块,静态代码块,构造块,同步代码块;

    普通代码块

      作用:就是避免某一个方法中变量重名

    public class Test{
        public static void main(String args[]){
            {//普通代码块
                int num = 10;
                System.out.println(num);
            }
            int num = 100;
            System.out.println(num);
        }
    }

    如果一个代码块写在了类中,则称为构造块,而且优先于构造方法执行;

    class Book{
        public Book(){//构造方法
            System.out.println("构造方法的输出语句");
        }
        {//构造块
            System.out.println("构造块输出的语句");
        }
    }
    
    public class Test{
        public static void main(String args[]){
            new Book();
        }
    }
    /*
    运行结果
    
        构造块输出的语句
        构造方法的输出语句
    
    */

    静态块

      静态块优先于构造块执行,而且无论产生多少个实例化队形,静态块只执行一次

      静态块的主要作用是为类中的static属性初始化

    class Book{
        public Book(){//构造方法
            System.out.println("构造方法的输出语句");
        }
        {//构造块
            System.out.println("构造块输出的语句");
        }
        static {//静态块
            System.out.println("静态块输出的语句");
        }
    }
    
    public class Test{
        public static void main(String args[]){
            new Book();
            new Book();
            new Book();
        }
    }
    /*
    运行结果
    
    静态块输出的语句
    构造块输出的语句
    构造方法的输出语句
    构造块输出的语句
    构造方法的输出语句
    构造块输出的语句
    构造方法的输出语句
    
    
    */

    如果静态块定义在主类中,则优先于主方法执行;也就是说没有主方法的主类,要存在静态块也能正常运行

  • 相关阅读:
    Java 9 模块解耦的设计策略
    Spring Data JPA 事务锁
    如何配置Spring Boot Tomcat
    Spring Cloud Turbine
    Spring Boot 测试时的日志级别
    Spring Boot中使用RSocket
    构造函数
    递归函数的使用
    有序数列的二分搜索
    Java第一次代码作业汇总
  • 原文地址:https://www.cnblogs.com/hu1056043921/p/7305199.html
Copyright © 2011-2022 走看看