我有以下課程:class Pair{ String car; Integer cdr; public Pair () {} public Pair (String car) { this.car = car; } public Pair (Integer cdr) { this.cdr = cdr; } public Pair (String car, Integer cdr) { this(car); this(cdr); }}該類(lèi)包含兩個(gè)可選值,我想提供所有可能的構(gòu)造函數(shù)排列。第一個(gè)版本不初始化任何內(nèi)容,第二個(gè)版本僅初始化第一個(gè)值,第三個(gè)版本僅初始化第二個(gè)值。最后一個(gè)構(gòu)造函數(shù)是第二個(gè)和第三個(gè)的組合。但是不可能寫(xiě)下來(lái),因?yàn)榇a失敗了。builder.java:13:對(duì)此的調(diào)用必須是構(gòu)造函數(shù)中的第一條語(yǔ)句 這個(gè)(cdr); ^1個(gè)錯(cuò)誤是否可以編寫(xiě)沒(méi)有任何代碼冗余(也無(wú)需調(diào)用相同的setter方法)的最后一個(gè)構(gòu)造函數(shù)?
如何避免Java中的構(gòu)造函數(shù)代碼冗余?
人到中年有點(diǎn)甜
2019-12-04 10:58:09