读《Java编程思想》-- 从c++转向java的java细节(1~5)

  1. 基本数据类型并非引用,而是自动变量,直接存储值,至于堆栈中,而且占用的存储空间是固定不变的
  2. 某个成员的基本数据类型会被初始化为默认值,但是局部的变量不会!
  3. java设计者希望程序员反过来使用自己的Internet域名,如MindView.net的工具类为 net.mindvide.utility.foibles
  4. java消除了“向前引用”的问题,就是说即使某个类在文件的后面才定义,在前面使用也是正确的
  5. java中间用对象复制只是操作的引用,这就是别名现象
  6. 关系运算比较对象时其实是比较的引用(别名现象本质相同)
  7. java不会自动的将int转换为boolean,所以 while(x = y ) 会报错
  8. 在执行窄化转换的时候,总是截尾,比如 double above = 0.7; float  fabove = above ,结果fabove为0,如果要舍入需要使用java.lang.Math.round()方法
  9. java没有goto,但是break和continue可以随标签一起使用,continue label相当于goto label,但是break label不会再进入循环(但是注意break和continue只能用于循环控制,这样就限制了goto的跳转)
  10. switch(整数表达式的值)
  11. 老问题:为什么不能用返回值区别重载函数? 因为可以忽略返回值调用函数
  12. 如果你编写了构造函数(无论是否有参数),那么编译器就不会帮你自动生成默认构造函数。
  13. 构造器可以使用this调用另一个构造器,但是只能调用一次,而且必须位于代码起始处
  14. 对象可能不被垃圾回收;垃圾回收并不等价于“析构”。 finalize方法是在垃圾回收之前被调用的,但是垃圾回收可能不发生。finalize的真正用途?垃圾回收只与内存有关
  15. java对象可以在字段初始化时直接提供初值,但是c++中不允许
  16. 初始化顺序为先静态对象,而后是非静态对象。构造函数可以看出是静态方法。 非静态变量实例初始化子句在构造器之前执行
  17. java中的可变参数列表 void f(int a, String ... args)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值