美文网首页
构造代码块

构造代码块

作者: 腹黑小叶子orz | 来源:发表于2017-08-03 23:01 被阅读0次

    构造代码块,是为了书写便利。

    有些方法在对象创建的时候就希望可以拥有。好比每一个孩子出生需要哭,哭就类似于孩子的本能。这就类似于构造代码块,每个对象刚被创建就立刻需要!

    为什么说它便利呢?把创建对象想成孩子出生,世界上每天有那么多孩子出生,每一个都需要哭,这是她们自带的能力。代码不是孩子,会自己添加自己的属性,需要我们来写,那么难道每一个对象被创建的时候,就写一次属性?岂不麻烦,构造代码块就起这个作用,让每一个对象刚被创建就具有自己的属性。但是同时需要知道,孩子出生的哭是为了让肺可以进入空气,接下来的日子里,这个孩子就可以不用为了呼吸而哭。构造代码块只在对象创建的时候被调用,进行了一系类看得见也好看不见也好的操作之后就不在进行了。(看见看不见其实可以理解成有没有被打印,好比我设定了孩子刚出生的年龄为1岁,但没有打印,那么这个年龄执行了,只不过不会反应在操作版上。)

    构造代码块被定义了就一定会实现,但实现与打印不同,如果定义了变量,但没有打印,仍然是没有结果的。并且在函数创建对象的时候,构造代码快会被调用。输出代码块的内容。但是在没有对象创建的时候,则不会调用构造函数。

    构造代码块:

    对一个类的所有对象进行一个统一的初始化操作,只要这个对象被创建,就会执行。


    Java中的构造代码块 :用一个大括号包起来的内容
      {
       执行的代码;
      }
      
     【位置】
      在构造函数之前,在成员变量之后,成员方法之前
     代码块分为三大类:
      1. 构造代码块
      2. 局部代码块 (基本不用了)  缩短局部变量的生存周期
      3. 静态代码块  static

    package fuhei;

    class CuteBaby {

    int id;

    char sex;

    private String name;

    //成员变量

    cry();

    id = 5;

    System.out.println(id);

    sex = 'n';

    System.out.println(sex);

    //构造代码块

    }

    //构造函数

    public CuteBaby(String n) {

    name = n;

    }

    public CuteBaby(char s) {

    sex = s;

    System.out.println("fds");

    }

    public CuteBaby(int i) {

    id = i;

    }

    //私有化变量的set 和 get 方法

    public void setName(String n) {

    name = n;

    }

    public String getName() {

    return name;

    }

    public void cry() {

    System.out.println("哇哇的哭~~~");

    }

    }

    public class Demo01 {

    public static void main(String[] args) {

    CuteBaby baby = new CuteBaby("李一");

    //c创建了对象,调用了构造代码块,所以输出了哭,年龄,以及性别

    //这里也传了参,但在传参的方法中,并没有打印方法,所以无法显示

    System.out.println("=====================================");

    baby.cry();//调用了哭方法

    System.out.println("=====================================");

    System.out.println(baby.id);//对象调用方法名,

    System.out.println("=====================================");

    CuteBaby doubi = new CuteBaby('M');

    //这个点用的是char行的构造代码块,这里定义了性别和cry,因为下面让打印的是id,所以一定会出现ID号

    //因为他同时又传了参,所以会调用构造代码块和传参类型的函数

    System.out.println("=====================================");

    System.out.println(doubi.id);

    System.out.println("=====================================");

    CuteBaby mengbi = new CuteBaby(15);

    //最后又创建了对象,所以调用了构造代码块

    }

    }

    相关文章

      网友评论

          本文标题:构造代码块

          本文链接:https://www.haomeiwen.com/subject/ozemlxtx.html