zoukankan      html  css  js  c++  java
  • java中的静态代码块、构造代码块、构造方法

    运行下面这段代码,观察其结果:

    package com.test;
    
    public class HelloB extends HelloA {
        
        public HelloB() {
        }
    
        {
            System.out.println("I’m B class");
        }
        
        static {
            System.out.println("static B");
        }
    
        public static void main(String[] args) {
            new HelloB();
        }
    }
    
    class HelloA {
        
        public HelloA() {
        }
    
        {
            System.out.println("I’m A class");
        }
        
        static {
            System.out.println("static A");
        }
        
    }

    结果如下:

    static A
    static B
    I’m A class
    I’m B class

    解析:

    1.静态代码块:是在类的加载过程的第三步初始化的时候进行的,主要目的是给类变量赋予初始值。

    2.构造代码块:是独立的,必须依附载体才能运行,Java会把构造代码块放到每种构造方法的前面,用于实例化一些共有的实例变量,减少代码量。

    3.构造方法:用于实例化变量。

    总结:

    1是类级别的,2、3是实例级别的,所以1要优先2、3.

    它们的执行顺序是1>2>3;

  • 相关阅读:
    tcp粘包解决
    socket网络编程
    logging模块
    异常处理
    hashlib configparser模块
    列表推导式和生成器表达式和内置函数
    迭代器与生成器
    装饰器
    函数
    文件操作
  • 原文地址:https://www.cnblogs.com/studyLog-share/p/5306966.html
Copyright © 2011-2022 走看看