• 5.1JAVA基础复习——JAVA中的静态代码块、构造代码块、构造函数、局部代码块区别


    构造代码块:
      在类中定义可以给所有对象进行初始化。
    局部代码块:
      在方法中定义属性的生命周期。
    静态代码块:
      在类中定义用于给类调用时属性的初始化

    构造函数与构造代码块的区别:
      构造函数是给对应的对象进行针对性的初始化。
      构造代码块是给所有对象进行初始化

    代码如下:

    public class Demo {
        private static  int age;
        private static  String name;
        //静态代码块:给类的属性进行初始化
        static{
            age = 10;
            name = "旺财";
        }
        //构造代码块:给所有的对象初始化定义在类中方法外。
        {
            show();
        }
        public Demo(int age,String name){//有参构造函数
            Demo.age =age;
            Demo.name = name;
        }
        public Demo(){//无参构造函数
            
        }
        public void show(){ //普通函数
            //局部代码块:定义属性的生命周期
            {
                char sex = '男';//变量sex出了{}后就会被销毁
                System.out.println("sex="+sex);
            }
            Demo.name = "张三";
        }
        public static void main(String[] args) {
            /*当有静态代码块构造代码块构造函数时程序执行流程
             * 1.类被调用或创建实例时会执行静态代码块进行初始化执行后age=10 name=旺财。
             * 2.创建实例会执行构造代码块调用show方法执行后sex = 男 ,age不变,name = 张三。
             * 3.调用有参构造函数传入参数执行后age = 50,name=姚明。
             * 执行顺序为:
             * 1、静态代码块 :给类的属性进行初始化。
             * 2、构造代码块:给所有的对象进行初始化。
             * 3、有参或无惨构造(根据实例来定):给指定的对象进行初始化。
             * 结果为:sex=男 注意这个是在构造代码块中输出的
             *          50    姚明
             * */
            Demo d = new Demo(50,"姚明");
            System.out.println(d.age+"	"+d.name);
        }
    }
  • 相关阅读:
    rest webapi 返回数据
    下载指定路径的文件到本地服务器
    NPOI excel文件解析
    (Demo分享)利用JavaScript(JS)实现一个九宫格拖拽功能
    关于DOM的理解
    (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
    关于闭包函数和递归函数的详细理解
    纯CSS制作加<div>制作动画版哆啦A梦
    冒泡排序
    Python常用模块及正则表达式知识点,你需要了解的全在这了
  • 原文地址:https://www.cnblogs.com/hcl22/p/6374752.html
Copyright © 2020-2023  润新知