java创建对象过七夕,想 new 个对象过七夕,她却抛了异常

原标题:想 new 个对象过七夕,她却抛了异常

关注 “”

bc85cdd239a7ad4b340e1ffea7ee3a22.png

导读:单身之痛......

作者 | 轩辕之风

来源 | 编程技术宇宙(ID:xuanyuancoding)

七夕又到了,单身汪们太难了,每年不仅要经历双十一,要经历2.14,还要经历七夕节,真是古今中外都不肯放过我们啊!

不过对于咱们程序员来说,这都不是问题!只要你不是C语言,想要对象还不简单?new 一个不就得了!

302c52bdef0a6f360f2c81f77ad01696.png

对象的类型

首先,new之前,得先定义对象的类型,就叫 GirlFriend 吧,继承自基类Girl!

接下来要思考,这个 GirlFriend 该有哪些方法呢?

首先得要长得漂亮吧:

boolisBeatuiful;

其次,得做的一手好饭吧:

Food cook;

嗯,要温柔一点,会撒娇:

booltender;

不过也不能太粘着我,还是要去工作才行:

voidwork;

差点忘了,最重要的一点,要爱我,心里只能有我一个:

voidloveMe;

好了,就先想到这些方法吧。

要全心全意对待女朋友,还得要允许她访问你的空间,C++程序员们记得把女朋友设置为友元:

friendclassGirlFriend;

e042c4c73a4e8b89679b399ea122c1c4.png

和对象通信

接下来,要怎么和女朋友通信呢?

用个消息队列?嗯,不行,处理不及时的话分分钟要出事。

算了,就一个女朋友,还考虑什么高并发啊?就用个简单的回调吧!

voidonMessage(Message msg);

Message 要考虑的情况有点多:

enumMessage {

MSG_IMissYou, // 我想你了

MSG_WhatAreYouDoing, // 你在干嘛

MSG_GoShopping, // 陪我逛街

MSG_IFeelUncomfortable, // 我不舒服

MSG_IAmAngry, // 我生气了

······

}

得要小心翼翼的处理这些消息,否则,嘿嘿,你懂得~

switch(msg) {

caseMSG_IMissYou:

say( "miss you too");

break;

caseMSG_WhatAreYouDoing:

say( "I'm coding...");

break;

caseMSG_GoShopping:

takeMoney;

break;

caseMSG_IFeelUncomfortable:

say( "多喝热水");

break;

caseMSG_IAmAngry:

// 这个我也不知道,自己发挥吧

}

准备工作做得差不多了,现在可以来new了!

7729233b7892651a03fd0f16df5ca37a.png

new一个

Java同学要注意,new出来的对象引用要抓牢了,要是不小心松了手,就要被垃圾回收掉了~

// Java

GirlFriend gf = newGirlFriend;

如果是一个C++程序员,new了之后还得要delete。不过,怎么能对女朋友进行delete呢,你肯定不想发生这种事情吧?所以用智能指针shared_ptr吧!

不过要注意你们别循环引用,不然谁也走不了。就像生活中两个人吵架总得有个人先让步,不然就没完没了了~

// C++

shared_ptr gf( newGirlFriend);

为了展现你的专一性,只爱她一个,得加上 final 和 const 表示一下吧:

// Java

final GirlFriend gf = newGirlFriend;

// C++

constshared_ptr gf( newGirlFriend);

acc9b0392304c169823874f22128cf82.png

运行一下

写好了,咱们来运行一下~

2079227af1e33ca294e1427465356f8b.png

哦豁!GirlFriend 的构造函数抛出了异常!

别急,来看看错误提示:

error: no matchGirlFriend found

原来是没有找到符合要求的女朋友!

别慌,咱们降低一点条件,把有工作这一项拿掉再试试:

error: no matchGirlFriend found

额,还是不行,还得继续降低要求,再把温柔去掉吧,漂亮、会做饭、爱我难道还不够吗?

error: no matchGirlFriend found

好吧,是时候做出真正的抉择了,忍痛去掉会做饭!再试一次!

error: no matchGirlFriend found

怎么办?只剩下漂亮和爱我了!我还不信这个邪了,爱我就好了,漂不漂亮的不重要。再来!

error: no matchGirlFriend found

此刻已经心如死灰,有个对象差不多凑活吧,管她爱不爱我,这是我最后的倔强。

error: no matchGirlFriend found

欺人太甚了,我要来排查一下基类 Girl 的源码,到底出了什么问题?

突然我在Girl的构造方法里看到了一行:

assert(job != "程序员");

这可难不倒我们程序员,我决定( )

猜猜我做了啥,留言区欢迎开脑洞!

分享转发~早日脱单!

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】解析Redis和Java传递数据

在Java中使用Redis之前需要导入 jedis.jar 包,由于Redis是基于key-value进行数据存储,java中的数据存储到Redis中有许多方式,这里笔者介绍采用JSON字符串和对象序列化两种方式。 1,使用JSON方式 首先将Java对象转化为JSON字符串 …

sql查询php,SQL查询或PHP?

我想看看哪里做错了,但我不能找到问题,我不能更新我的数据库,有人可以看到我的代码什么是缺少的?总是说我“数据库错误”码:if(isset($_POST[enviar])) {$types"";for ($i0; $i$types$types.$_POST[texames]…

C#带按钮的文本框TextBoxContainButton

经常需要用到各种组合控件,每次组合太麻烦,通过打包成自定义控件,方便调用。 带按钮的文本框,如下图: 文本框内可以输入文本,响应文本框内容变化事件,按钮可以设置点击事件,图标 通过…

PHP用gd库给图片添加水印,php用GD库给图片添加水印

php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下:/*打开图片*///1、配置图片路径$src "aeroplane.jpg";//2、获取图片信息$info getimagesize($src);//3、获取图片类型$type image_type_to_extension($info[2], false);…

Windows单机配置Zookeeper环境

转自:http://www.jianshu.com/p/f7037105db46 首先要确保机器已经安装好java环境,并且配置好环境变量 http://apache.fayea.com/zookeeper/current/ 下载后,解压缩到硬盘,我这里解压到了 D:\WorkSoftware\zookeeper_3.4.9 解压缩在…

php 方法里用外部变量的值,PHP实现函数内修改外部变量值的方法示例

本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考,具体如下:直接上代码,如下:$a_str ab;function change_val(){global $a_str; // 通过设置全局变量,修改变量值//$a_str abc;$a_str $a_str…

三层架构—简析

三层学习完了,第一次验收的时候,自己理解的也不是非常到位,后来又又一次敲了一遍登陆样例,查阅了一些资料 进行第二次验收才感觉清晰了很多。之前画时序图时我就想过时序图基本上也是非常好的体现了三层,当时也和别人讨…

php配置文件加载顺序,php extension 加载顺序问题

有的php扩展,加载是有先后顺序的,如果搞错了,会导致扩展无法加载。1,pdo_sqlsrv是sqlserver扩展,如果在pdo扩展之前加载就会报以下错误PHP Warning: PHP Startup: Unable to load dynamic library pdo_sqlsrv.so (trie…

机房收费系统之结账

其实,我认为机房收费系统中结账的部分是耗我精力最多的。首先我就不明确结账是干嘛的,所以一上来就晕乎乎。后来看了一篇博客说结账方便老板管理的才明确了为什么是“操作员”。这里面要理清的一点,结账的内容是未结账的。 暂时汇总的信息&am…

linux php oauth安装,php – 无法在Linux上安装OAuth

我正在尝试在Linux上安装OAuth,但它无法正常工作.我正在运行此命令:yum install php-devel然后pecl install oauth然后我得到这个输出:downloading oauth-1.2.2.tgz ...Starting to download oauth-1.2.2.tgz (45,348 bytes).............done: 45,348 b…

[NOIP2010提高组]关押罪犯

题目:洛谷P1525、Vijos P1776、codevs1069。 题目大意:有一些罪犯,两个罪犯之间可能会发生冲突,冲突有个影响力,而如果两个罪犯在不同监狱里,就可以避免冲突。现在有两个监狱,要你安排一种关押罪…

java一元二次方程面向对象,求解一元二次方程(面向对象设计的),跪求

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼头文件#if! defined(EQUATION_H)#define EQUATION_H#include #include using namespace std;class FindRoot{private:float a,b,c,d;double x1,x2;public:FindRoot(float x,float y,float z);void Find();void Display();};#endif实…

Java线上应用故障排查之一:高CPU占用

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。 …

Java并发编程实战 代码bug,Java并发编程实战(1)- 并发程序的bug源头

概述并发编程一般属于编程进阶部分的知识,它会涉及到很多底层知识,包括操作系统。编写正确的并发程序是一件很困难的事情,由并发导致的bug,有时很难排查或者重现,这需要我们理解并发的本质,深入分析Bug的源…

ajax小结

转载于:https://www.cnblogs.com/infernoyy/p/7250548.html

linux mysql迁移,Linux 下安装MySQL并迁移备份

简单记录下在centOS上安装MySQL(MariaDB)的过程。这里我并没有选择特定的MySQL版本,使用的是源默认提供的版本。1. 执行安装命令:执行如下指令安装MySQL数据库。1yuminstall-ymysqlmysql-server注意这里同时安装了mysql和mysql-server。在输出一长串信息…

Asp.net--DropDownList控件绑定数据库数据

DropDownList控件绑定数据库数据:DB是公共类,reDt是公共类中的方法 放在Page_Load事件中 if (!IsPostBack){DB db new DB();DataTable dt db.reDt("select * from provinceInfo order by provinceid asc");ddlsmprovince.DataSource dt;ddl…

app推送以及提示音java,springboot 整合 Jpush 极光推送

产品简介:JPush 是经过考验的大规模 App 推送平台,每天推送消息数超过 5 亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 An…

C++游戏系列2:角色装备武器

很多其它见:C游戏系列文件夹 知识点:类的组合,A类的数据成员。是B类的对象,或B类的对象。做A类的数据成员    【项目-带武器的游戏角色】   设计一个武器类,其数据成员至少要有武器名、威力,还能够…

php 显示当前年月日时分秒,php 获取当前前后年、月、星期、日、时分秒的时间...

php 获取今天前后年、月、星期、日、时分秒的时间。通过设置时间戳函数strtotime()的参数获取时间。//获取当前时间echo date(Y-m-d H:i:s,strtotime(now));echo date(Y-m-d H:i:s);echo date(Y-m-d H:i:s,time());//获取5天前的时间echo date(Y-m-d H:i:s,strtotime("-5 …