zoukankan      html  css  js  c++  java
  • java面向对象之构造代码块

    代码块:

      1.构造代码块

        构造代码块:在开发过程中如果需要创建多个对象,但是这些对象都要调用同样的行为属性,就可以使用构造代码块来简化书写(避免重复代码出现)

        作用:给对象进行统一的初始化(注意构造函数是给指定的对象进行初始化)

      2.局部代码块

        作用:使局部变量具有一定的生命周期,可以节约一丁点内存(个人认为没啥用)

      3.静态代码块(后续补充)

    构造代码块:

      定义格式:  ----------------就是在成员变量定义完之后由一个大括号包起来的内容

        {

          构造代码块内容;

        }

      注意:1.构造代码块的大括号必须位于成员变量位置上

         2.jvm编译一个Java源文件的时候,会把成员变量的声明语句提前到一个类的最前端

         3.成员变量的初始化都是在构造函数中执行的

         4.成员变量二点显式初始化和构造代码块时按照顺序执行的,但是构造函数中的代码在最后执行;  

    实例

    //////定义一个员工,员工都具有工作的属性

     1 public class Employee {
     2     int  id;
     3     String  name;
     4     int age;
     5     {
     6         System.out.println("构造代码块执行了。。。。");
     7         Work();
     8     }
     9 
    10     //定义一个构造函数,实现初始化
    11     public Employee(int id,String name,int age){
    12         this.name = name;
    13         this.age = age;
    14         this.id = id;
    15         //Work();          //重复代码,在代码块中执行
    16     }
    17     //定义一个空参数的构造函数
    18     public Employee(){
    19         System.out.println("直接上班!!!");
    20         //Work();          //重复代码,在代码块中执行
    21     }
    22 
    23     //定义一个公共行为,员工具备工作的属性
    24     public void Work(){
    25         System.out.println("编号:"+id+"___"+name+"小伙子快快工作,写代码"+age+"年了!!");
    26     }
    28 }

    调用

    1 public static  void  main(String[] args){
    2         Employee ey = new Employee(1001001,"李四",26);
    3         ey.Work();
    4         Employee ey1 = new Employee();//调用空参数的构造函数
    5 }    

    结果如下:

    "C:Program FilesJavajdk1.8.0_181injava.exe" "-
    构造代码块执行了。。。。
    编号:0___null小伙子快快工作,写代码0年了!!   
    编号:1001001___李四小伙子快快工作,写代码26年了!! 
    构造代码块执行了。。。。
    编号:0___null小伙子快快工作,写代码0年了!!
    直接上班!!!
    
    Process finished with exit code 0

       

    —————————————————————————————————————————————————————————————————————————————————————————————————————————————— 保持学习的劲头
  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/qkblogs/p/12638059.html
Copyright © 2011-2022 走看看