今天看到一道面試題,題目如下:
題目解釋:
上面有一個類,有四個成員屬性,以及兩個構造方法(一個四個參數,一個兩個參數),題目給出四個選項,問哪些選項可以滿足在在四個參數的構造方法中完成x=a,y=b的賦值操作?(多選)
這題我的答案是ABCD,正確答案是CD(傻了)。
分析:
- A選項:直接調用類中的另外一個構造方法,通過名字調用。構造方法不能直接調用,只能使用new關鍵字,或者在構造方法中使用this(a,b)調用;
- B選項:它和C的唯一區別就是中間是逗號隔開。在java中,逗號運算符並不像C/C++中一樣,可以隨意使用,在java中,逗號只能用來分隔方法的參數,或者分割多個變量的聲明,或者用於for循環的表達式中:
- C、D選項:不解釋了,明顯是對的;
結論:
在java中,不能在構造方法中直接使用“類名(參數)”的方式調用構造方法;
在Java中,逗號運算符功能很少,只能用在少數幾個特定的地方,並且沒有像C/C++中一樣的作用;