今天看到一道面试题,题目如下:

题目解释:

  上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b的赋值操作?(多选)

  这题我的答案是ABCD,正确答案是CD(傻了)。

分析:

  • A选项:直接调用类中的另外一个构造方法,通过名字调用。构造方法不能直接调用,只能使用new关键字,或者在构造方法中使用this(a,b)调用;
  • B选项:它和C的唯一区别就是中间是逗号隔开。在java中,逗号运算符并不像C/C++中一样,可以随意使用,在java中,逗号只能用来分隔方法的参数,或者分割多个变量的声明,或者用于for循环的表达式中:

     

  • C、D选项:不解释了,明显是对的;

结论:

  在java中,不能在构造方法中直接使用“类名(参数)”的方式调用构造方法;

  在Java中,逗号运算符功能很少,只能用在少数几个特定的地方,并且没有像C/C++中一样的作用;

最新文章

  1. Android总结之Gzip/Zip压缩
  2. Android中常见功能包描述(转)
  3. 基于HTML5快速搭建3D机房设备面板
  4. UVALive 5066 Fire Drill --BFS+DP
  5. SQLite安装、编译与应用
  6. React Native 开发之 (07) 常用组件-View
  7. [Python] Symbol Review
  8. [C语言 - 3] 字符串
  9. sqlserver 时间转换
  10. [Java Web]Struts2加起来(一个)
  11. 分布式版本控制系统 Git 的安装与使用
  12. 基于springboot的ssm
  13. 去除bootstrap默认的input和选中时的样式
  14. python常用库,包网址
  15. shlve 模块
  16. 深入理解java虚拟机---虚拟机工具VisualVM(十九)
  17. MySQL触发器详解
  18. 如何安装和配置RabbitMQ(转载)
  19. vue的过渡和动画
  20. Quartz:不要重复造轮子,一款企业级任务调度框架。

热门文章

  1. 拾遗:关于“尾递归”- tail recursion
  2. C语言结构体指针
  3. C语言结构体注意点
  4. mac 如何卸载node和npm采坑之旅
  5. CyberArk
  6. SOCK_SEQPACKE
  7. Codeigniter Session: Configured save path is not a directory
  8. linux服务器创建docker
  9. Python 分布式锁
  10. Perl 哈希