婴儿的出生为你解惑构造函数和构造代码块

应用开发2025-11-05 08:24:2839654

本文转载自微信公众号「见贤思编程」,婴儿作者泰斗贤若如 。解惑转载本文请联系见贤思编程公众号。构造 

前言:

构造代码块和构造函数之间是函数和构有一定的联系的,为了捕捉这种联系关系,造代我总结了一个案例,码块这个案例能加深你对构造函数和构造代码块的婴儿理解。

我写这篇文章为了能给需要解惑的解惑人提供一些帮助,还是构造那句话:

越懂得与人分享,你的函数和构价值增值越大!

看代码前要先明白一个需求:

使用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();         }     } } ? 

 【编辑推荐】

使用 Java 构建你自己的文本编辑器 1000集北航硕士亲授大白话学懂Java教程 基础篇:Java.Security框架之签名、加密、摘要及证书 你真的懂 JavaScript 闭包与高阶函数吗? 一文告诉你Java日期时间API到底有多烂
本文地址:http://www.bzuk.cn/news/38e33099631.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

热门文章

全站热门

解决电脑开机显示英文Windows错误恢复的问题(从错误诊断到系统恢复,帮助您解决电脑开机故障)

有个领导想在自己安装了ubuntu的系统中装个打印机,我说行啊,我来帮你装,顺便就截了几张图,分享给大家步骤。网络打印机是有一个IP地址的哦!和共享打印机的添加方法不太一样,但是可以借鉴参考。1、打开菜单里面的设置按钮,对!就是桌面靠左,像齿轮的那个。点开它2、在 系统设置窗口中的“硬件”项目下面,找到“打印机”,并使用鼠标左键点开它。3、在打印机对话窗口里面,我们点击两个添加其中的一个。来添加一个打印机4、在选择设备下面,找到“网络打印机”一项,我并使用鼠标左键点击它5、被点开的“网络打印机”下面,一般情况会自动搜索到网络打印机,并且给你展示出来,如下图,Generic 21c-1(192.168.x.1) ,我们点中它,然后点击窗口中右下角处的“前进”6、我们选择ubuntu系统为我们查找到并且“推荐”的打印机类型,然后点击“前进”7、接下来的两个驱动程序,系统也会默认为您选择好,我们就保持它默认的“推荐”驱动就好了。继续点击“继续”按钮。8、在打印机描述中,你可以更改里面的数据,位置也可以改变,但是我这里都保持默认,直接点击“应用”按钮继续操作。9、接下来,系统会开始着手为您安装该网络打印机的驱动程序,等待安装完成后。会提示您是否打印一张测试页,根据你的需求点击即可,这样我们就安装好了网络打印机啦。

iPhone照片导入电脑显示错误的解决方法(解决iPhone照片导入电脑时出现的错误及其原因分析)

Ubuntu升级到12.04失败的解决办法1:按关机键,使用tab键重启2:选择previous version 中的升级前的一个版本的recovery模式,然后进行network修复.3:重启,选择ubuntu第一个选项,进去后网络可以用了,然后更新软件ok了。ps:在恢复模式中可以进行很多操作,清理旧内核,释放空间等等。当ubuntu出了问题,可以进入以前的版本或者修复模式。

中柏平板电脑装系统教程(一步步教你如何在中柏平板电脑上安装系统)

电脑蓝牙连接出现内部错误解决方法(解决电脑蓝牙连接出现内部错误的有效办法)

建立 tftp 服务器 安装程序 复制代码代码如下:复制代码代码如下:cd / 复制代码代码如下:复制代码代码如下: 复制代码代码如下:进入另外一个文件夹 复制代码代码如下:建立 nfs 服务器  复制代码代码如下:安装客户端的作用是可以在本机进行 NFS 服务的测试。 复制代码代码如下:我的配置如下:复制代码代码如下: 解释一下: 复制代码代码如下:进行测试 复制代码代码如下: 运行  $ df  看看结果   复制代码代码如下:$ sudo umount /mnt

virtualbox的共享文件夹一般都挂载在/media下面,用ll查看会发现文件夹的所有者是root,所有组是vboxsf,所以文件管理去无法访问是正常的,解决方法是把你自己加入到vboxsf组里面。复制代码代码如下:重启,就可以了

热门文章

友情链接

滇ICP备2023006006号-33