• java子父类初始化顺序 (1)父类静态代码块(2)父类静态变量初始化(3)子类静态代码块(4)子类静态变量初始化(5)main(6)有对象开辟空间都为0(7)父类显示初始化(8)父类构造(9)子类显示初始化(10)子类构造


    标题 静态代码块与静态成员变量还要看代码的先后顺序

    看程序,说出结果

     

     结果为:

     x=0

    看程序,说出结果

    结果如下:

    补充 :

    静态代码块:static{ } 在JVM加载时即执行,先于主方法执行,用于类的属性初始化

    注意:静态代码块不能存在于任何方法体中

    构造代码块:{} 放于类中,在构造方法调用时先于构造中其他代码执行

    局部代码块:{} 放于某方法中,用于缩短变量生命周期 以释放空间

    package com.swift.gouzaodaimakuai;
    
    public class Gouzaodaimakuai {
        
        public static void main(String[] args) {
            Gouzao gouzao = new Gouzao(3);  //构造代码块在构造函数被调用时执行, 先于构造中其他代码,作用是给对象统一初始化数据;
            System.out.println(gouzao);
        }
    }
    class Gouzao{
        int id;
        String name;
        {
            this.id= 5;
            this.name = "测试";
            System.out.println("这是构造代码块");
        }
        Gouzao(int id){
            this.id = id;
        }
        public String toString(){
            
            return "name: "+this.name +"  ,   "+"id: "+ this.id ;
        }
    }

     

  • 相关阅读:
    POJ 3009 Curling 2.0 简单DFS 好题
    POJ 3253 Fence Repair 贪心
    python_13 面向对象
    python_12 模块
    python练习题_04
    python_11 装饰器,闭包
    python练习题_03
    python_10 迭代器和生成器
    python_09 文件处理流程,文件操作方法
    python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
  • 原文地址:https://www.cnblogs.com/qingyundian/p/7758053.html
Copyright © 2020-2023  润新知