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

       

    —————————————————————————————————————————————————————————————————————————————————————————————————————————————— 保持学习的劲头
  • 相关阅读:
    JAVA中获取当前系统时间
    关于JAVA中URL传递中文参数,取值是乱码的解决办法
    javaweb学习总结——Filter高级开发
    java项目(java project)如何导入jar包的解决方案列表
    使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
    关于配置Tomcat的URIEncoding
    web.xml中load-on-startup的作用
    最详细的Log4j使用教程
    使用MyEclipse开发第一个Web程序
    java.net.BindException: Address already in use: JVM_Bind
  • 原文地址:https://www.cnblogs.com/qkblogs/p/12638059.html
Copyright © 2011-2022 走看看