課程
/后端開發
/Java
/Java入門第三季
super(message)
在自定義異常時,為什么需要調用父類含參的構造方法,默認調用父類無參的構造方法不行嗎?
當有異常時,傳進來的信息,應該是直接給自定義異常類的信息,并沒有給父類啊?
2017-01-01
源自:Java入門第三季 1-5
正在回答
針對你的問題,你有沒有發現e.printStackTrace()打印出來的異常信息里有你傳進去的message,然而你的自定義異常類里面也沒有寫printSackTrace()這個方法。這是因為你自定義的類繼承了父類Exception 的成員方法和成員變量,雖然你沒有重寫但是實際存在,所存在一個我沒有看父類Exception具體內容,但是我認為肯定存在一個成員變量并且在printSackTrace()方法中被使用,雖然我沒有去看Exception類的有參構造函數是什么,但我猜測其內容 大概就是 this.m? = m;一類的。如果你想知道為什么,去看看繼承跟Exception類的內容
哥,你知道了嗎?我也想問
自定義異常時,可能要寫一些特定的內容,比如特定的提示信息,這些特定的內容需要在調用自定義異常時,可以通過這個含參的構造方法傳進去吧。
就是給自定義異了,沒有給父類,自定義會用繼承父類的方法或者自己特有的方法處理吧。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答子類不能調用父類含參構造器方法么,擦,前面講的又忘了,
2 回答為什么用父類的含參的方法會報錯呢?
4 回答為什么不用 無參構造方法 只用了有參構造方法?
3 回答為什么要super(message);
1 回答關于private類型和含參構造方法,求解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-12-23
針對你的問題,你有沒有發現e.printStackTrace()打印出來的異常信息里有你傳進去的message,然而你的自定義異常類里面也沒有寫printSackTrace()這個方法。這是因為你自定義的類繼承了父類Exception 的成員方法和成員變量,雖然你沒有重寫但是實際存在,所存在一個我沒有看父類Exception具體內容,但是我認為肯定存在一個成員變量并且在printSackTrace()方法中被使用,雖然我沒有去看Exception類的有參構造函數是什么,但我猜測其內容 大概就是 this.m? = m;一類的。如果你想知道為什么,去看看繼承跟Exception類的內容
2017-03-03
哥,你知道了嗎?我也想問
2017-01-01
自定義異常時,可能要寫一些特定的內容,比如特定的提示信息,這些特定的內容需要在調用自定義異常時,可以通過這個含參的構造方法傳進去吧。
就是給自定義異了,沒有給父類,自定義會用繼承父類的方法或者自己特有的方法處理吧。