好运时时彩平台app_构造函数和构造代码块

  • 时间:
  • 浏览:1
  • 来源:广东新闻网_广东主流媒体_广东门户网站

               今天回想这几天走过的Java路程,发现漏了三个白 多点,本来构造代码块,我绞尽脑汁,也没想起来它的作用,我骗不了我买车人,就搜相关资料,重新学习,在学习的过程中发现构造代码块和构造函数有一定的联系,为了捕捉本来 联系,我总结了三个白 多案例,本来 案例能加深你对构造函数和构造代码块的理解。我写本来 博客一是为了避免下次再被构造代码块这块石头绊倒,二是为了能给时要解惑的人提供本来 帮助,还是那句话:

             越懂得与人分享,你的价值增值越大!

          看代码时要先明白三个白 多需求:

                         使用Java类描述三个白 多婴儿,假设现在三种婴儿,三种婴儿是一出生删改时要了名字,当这么人把本来 婴儿叫白户,另三种婴儿是出生后才有了名字,当这么人把本来 婴儿叫黑户。(为了方便理解,我把刚出生就本来有名字的叫白户,把出生后才起名的叫黑户)

//婴儿类

public class Baby { int id;//身份证 String name;//名字 //哭 public void cry(){ System.out.println(name+"哇哇的哭。。。。"); } } class Test{ public static void main(String[] args) { //创建三个白 多baby对象 Baby baby = new Baby();//婴儿出生 baby.id=111; baby.name="小娃娃";//黑户 baby.cry(); } }

本来小娃娃是出生以前才赋的值,好多好多 小娃娃是黑户,当这么人现在要让婴儿一出生删改时要名字,就要用构造函数。

构造函数的作用:    给对应的对象进行初始化

构造函数定义的格式:

构造函数要注意的细节:

1.构造函数这么返回值类型

2.构造函数的函数名时要要与类名一致

3.构造函数并删改时要由当这么人手动调用的,本来在创建对应的对象时,jvm就会主动调用到对应的构造函数

4.本来三个白 多类这么显式的写上三个白 多构造法律方式时,Java编译器会为该类换成三个白 多无参的构造法律方式

5.本来三个白 多类本来显示的写上三个白 多构造法律方式时,Java编译器越多再再为该类换成无参的构造法律方式

6.构造函数是还时要在三个白 多类中以函数重载的形式居于多个的

//婴儿类
public class Baby {
    int id;//身份证
    String name;//名字

    //无参构造函数
    public  Baby(){

    }
    //有参构造函数
    public Baby(int id, String name) {
        this.id = id;
        this.name = name;
        System.out.println("Baby的属性初始化完毕!!!");
    }

    //哭
    public void cry(){
        System.out.println(this.name+"哇哇的哭。。。。");
    }
}

class Test{
    public static void main(String[] args) {
        //创建三个白

多baby对象
        Baby baby = new Baby(222,"小可爱");//婴儿出生    白户
        baby.cry();
    }
}
运行结果:

Baby的属性初始化完毕!!!
小可爱哇哇的哭。。。。

通过里边的黑户和白户,当这么人能对构造函数有个深刻的理解,下面我再引申出构造代码块,依旧是本来 例子,本来需求变了,现在的需求是婴儿一出生就时要哭,本来说到这,本来这么人理解了里边的代码,肯定马上就能想到,这还不简单,把哭的法律方式写到构造函数中不就行了,对,本来其实也还时要,本来有弊端,Java要求代码简练,能少写的就越多写,你先看下面的代码就知道了

//婴儿类
public class Baby {
    int id;//身份证
    String name;//名字

    //无参构造函数
    public  Baby(){
        cry();
    }
    //有参构造函数
    public Baby(int id, String name) {
        this.id = id;
        this.name = name;
      
        cry();
    }

    //哭
    public void cry(){
        System.out.println("哇哇的哭。。。。");
    }
}

class Test{
    public static void main(String[] args) {
        //创建三个白

多白户baby对象
        Baby baby = new Baby(222,"小可爱");//白户
        //创建三个白

多黑户baby对象
        Baby baby1 = new Baby();//黑户
    }
}

其实白户黑户三种婴儿删改时要出生的以前哭了,本来在三个白 多构造函数中经常出先了重复代码,cry()法律方式重复了两次,为了避免重复代码本来 问題,下面本来构造代码块出场吧!

构造函数的作用:给对应的对象进行初始化

构造代码块的作用:  给对象进行统一的初始化

构造代码块的格式:

注意:构造代码块的大括号时要居于成员位置上

代码块的类别:

1.构造代码块

2.局部代码块        大括号居于法律方式之内       作用:缩短局部变量的生命周期,节省本来 点内存

3.静态代码块

构造代码块要注意的事项:

1.Java编译器编译三个白 多Java源文件的以前,会把成员变量的声明得话提前至三个白 多类的最前端

2.成员变量的初始化工作其实删改时要在构造函数中进行的

3.一旦经过Java编译器编译后,构造代码块的代码就会被移动到构造函数中执行,是在构造函数以前执行的,构造函数中的代码是最后执行的

4.成员变量的显式初始化与构造代码块的代码是按照当前代码的顺序执行的

//婴儿类
public class Baby {
    int id;//身份证
    String name;//名字

    //构造代码块
    {
        cry();
    }
    //无参构造函数
    public  Baby(){

    }
    //有参构造函数
    public Baby(int id, String name) {
        this.id = id;
        this.name = name;

    }

    //哭
    public void cry(){
        System.out.println("哇哇的哭。。。。");
    }
}

class Test{
    public static void main(String[] args) {
        //创建三个白

多白户baby对象
        Baby baby = new Baby(222,"小可爱");//白户
        //创建三个白

多黑户baby对象
        Baby baby1 = new Baby();//黑户
        //匿名对象
        new Baby();
    }
}
运行结果:

哇哇的哭。。。。
哇哇的哭。。。。
哇哇的哭。。。。
//婴儿类
public class Baby {
    int id;//身份证
    String name;//名字

    //构造代码块
    {
        cry();
    }
    //无参构造函数
    public  Baby(){

    }
    //有参构造函数
    public Baby(int id, String name) {
        this.id = id;
        this.name = name;

    }

    //哭
    public void cry(){
        System.out.println("哇哇的哭。。。。");
    }
}

class Test{
    public static void main(String[] args) {
        //局部代码块
        {
            //创建三个白

多白户baby对象
            Baby baby = new Baby(222,"小可爱");//白户
            //创建三个白

多黑户baby对象
            Baby baby1 = new Baby();//黑户
            //匿名对象
            new Baby();
        }

    }
}

删改写完了,本来你其实对你有用,记得推荐,本来其实哪不对,欢迎指正!

  本文已独家授权给脚本之家(jb51net)公众号独家发布