Java中逗号运算符的使用
今天看到一道面试题,题目如下:
题目解释:
上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b的赋值操作?(多选)
这题我的答案是ABCD,正确答案是CD(傻了)。
分析:
- A选项:直接调用类中的另外一个构造方法,通过名字调用。构造方法不能直接调用,只能使用new关键字,或者在构造方法中使用this(a,b)调用;
- B选项:它和C的唯一区别就是中间是逗号隔开。在java中,逗号运算符并不像C/C++中一样,可以随意使用,在java中,逗号只能用来分隔方法的参数,或者分割多个变量的声明,或者用于for循环的表达式中:
- C、D选项:不解释了,明显是对的;
结论:
在java中,不能在构造方法中直接使用“类名(参数)”的方式调用构造方法;
在Java中,逗号运算符功能很少,只能用在少数几个特定的地方,并且没有像C/C++中一样的作用;