java创建对象过七夕,想 new 个对象过七夕,她却抛了异常
原標題:想 new 個對象過七夕,她卻拋了異常
關注 “”
導讀:單身之痛......
作者 | 軒轅之風
來源 | 編程技術宇宙(ID:xuanyuancoding)
七夕又到了,單身汪們太難了,每年不僅要經歷雙十一,要經歷2.14,還要經歷七夕節,真是古今中外都不肯放過我們啊!
不過對于咱們程序員來說,這都不是問題!只要你不是C語言,想要對象還不簡單?new 一個不就得了!
對象的類型
首先,new之前,得先定義對象的類型,就叫 GirlFriend 吧,繼承自基類Girl!
接下來要思考,這個 GirlFriend 該有哪些方法呢?
首先得要長得漂亮吧:
boolisBeatuiful;
其次,得做的一手好飯吧:
Food cook;
嗯,要溫柔一點,會撒嬌:
booltender;
不過也不能太粘著我,還是要去工作才行:
voidwork;
差點忘了,最重要的一點,要愛我,心里只能有我一個:
voidloveMe;
好了,就先想到這些方法吧。
要全心全意對待女朋友,還得要允許她訪問你的空間,C++程序員們記得把女朋友設置為友元:
friendclassGirlFriend;
和對象通信
接下來,要怎么和女朋友通信呢?
用個消息隊列?嗯,不行,處理不及時的話分分鐘要出事。
算了,就一個女朋友,還考慮什么高并發啊?就用個簡單的回調吧!
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了!
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);
運行一下
寫好了,咱們來運行一下~
哦豁!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 != "程序員");
這可難不倒我們程序員,我決定( )
猜猜我做了啥,留言區歡迎開腦洞!
分享轉發~早日脫單!
責任編輯:
總結
以上是生活随笔為你收集整理的java创建对象过七夕,想 new 个对象过七夕,她却抛了异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 反复激活无效——许可证到期
- 下一篇: 珠宝条码打印扫描解决方案