zoukankan      html  css  js  c++  java
  • static{}(静态代码块)与{}(非静态代码块)的异同点

    相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,
        一般在代码块中对一些static变量进行赋值。
    不同点:静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。
        静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new
        一次就执行一次。非静态代码块可在普通方法中定义(不过作用不大);而静态代码块不行。
    例:
    //普通类
    public class PuTong {
    public PuTong(){
    System.out.print(
    "默认构造方法!-->");
    }

    //非静态代码块
    {
    System.out.print(
    "非静态代码块!-->");
    }

    //静态代码块
    static{
    System.out.print(
    "静态代码块!-->");
    }

    public static void test(){
    {
    System.out.println(
    "普通方法中的代码块!");
    }
    }
    }

    //测试类
    public class TestClass {

    /**
    * 区别两次new静态与非静态代码块执行情况
    */
    public static void main(String[] args) {
    PuTong c1
    = new PuTong();
    c1.test();

    PuTong c2
    = new PuTong();
    c2.test();
    }
    }

    /*
    运行输出结果是:
    静态代码块!-->非静态代码块!-->默认构造方法!-->普通方法中的代码块!
    非静态代码块!-->默认构造方法!-->普通方法中的代码块!
    */
  • 相关阅读:
    jquery 筛选元素(1)
    jquery操作元素的位置
    jquery 操作css 选择器
    jquery 操作css 尺寸
    jquery 标签中的属性操作
    jquery基本选择器
    jquery表单属性筛选元素
    jquery属性值选择器
    jquery 层级选择器
    jquery的基本选择器
  • 原文地址:https://www.cnblogs.com/rgky/p/1986907.html
Copyright © 2011-2022 走看看