Java编程思想学习系列二
Java编程思想学习系列二
blacksand 发表于2年前
Java编程思想学习系列二
  • 发表于 2年前
  • 阅读 8
  • 收藏 0
  • 点赞 2
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 章节不连续

第三章
3.1 Java中,如果直接通过参数传递对象,实际传递的是对象的引用。
3.2 Random类,对于相同的随机数种子,都会生成相同的随机数。
3.3 Java逻辑运算有短路机制,A&&B&&C 如果A为false,则后面的都不会执行。
3.4 在C/C++有,有sizeof()函数,用于确定分配项的字节数,主要是为了方便移植,但是java语言在设计时已经考虑了移植问题,所以没有这个函数。

第四章
4.1 Java不允许使用一个数字作为布尔型使用,if(a)是不被允许的。
4.2 Java5中引入的新的遍历方法Foreach
eg  float[] f=new float[10];
    Foreach(float x:f)
        syso(x);    //完成遍历
第五章
5.4 构造器的调用只能在构造器中调用,其他任何地方的调用都是被禁止的。
5.5 Java允许在类中定义一个finalize()方法,它的工作原理为:一旦Java垃圾回收器准备好释放对象所占据的内存空间,将会首先执行finalize()方法,并且在下一次垃圾回收动作发生时,才会回收对象所占用的内存空间。
垃圾回收并不等于C++的析构,因为:对象可能不被垃圾回收,垃圾回收并不等于析构、垃圾回收只与内存相关
finalize()的真正用途是:
当存储空间通过某种创建对象方式以外的方位为对象分配了存储空间,譬如在分配时使用了C语言的malloc方法,这种情况只有发生在使用了“本地方法“的情况下,可以在finalize()调用free()方法进行释放。
无论是垃圾回收还是终结,都不保证一定会发生,如果JVM虚拟机并未面临内存耗尽的情形,是不会执行垃圾回收以恢复内存的。
5.7 Java无法阻止自动初始化的进行,即在调用构造函数之前已经对成员变量进行了初始化。在类的内部,变量定义的顺序决定了初始化的先后顺序。无论多个成员变量发布在何处,都在在构造函数之前之前被初始化。

5.8 在Java中,数组对象也是引用的,可以先定义一个引用 int[] a, 后面再初始化,也可以直接初始化。
在Java中可以定义可变参数列表的函数,在调用时,可以传递多个参数,其实在执行时,是将多个参数转换为一个数组,然后在函数中执行。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 2
码字总数 4456
×
blacksand
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: