zoukankan      html  css  js  c++  java
  • Effective Java

    1.终结方法(finalizer)通常是不可预测的,也是很危险的。应避免使用终结方法。

         C++中的析构函数可以用来回收内存以及内存以外的资源,而在java中,内存是自动回收的,而内存之外的其他东西可以使用try- finally来回收。
         终结方法的缺点在于不能保证被及时执行(甚至有可能不执行)。
     
    2。什么时候应该重载equals方法?有什么要求?
         如果类有自己特有的“逻辑相等”概念(不等同于对象相等),切超累还没有覆盖equals以实现预期的行为,此时需要去手动覆盖equals方法。
         很多类(包括集合类)在使用时都依赖于传递给它们的对象是否遵守了equals约定。
         equals约定:
              自反性:x.equals(x)=true
              对称性:x.equals(y) == y.equals(x)
              传递性:x.equals(y)  y.equals(z)  -> x.equals(z)
              一致性:多次调用保证会返回同样的结果
     
         覆盖equals方法时,总是要覆盖hashcode方法。
     
         Object内的equals方法:public boolean equals(Object obj)
         如果自己在试图覆盖时写成 public boolean equals(MyClass obj)那就变成重载了。
     
    3.toString()的默认实现是输出: 类名 + @ + 散列码的无符号十六进制表示法
     
    4.实现Comparable接口后,需要实现其中的compareTo方法
          
    不积跬步无以至千里,不积小流无以成江海。业精于勤而荒于嬉,行成于思而毁于随
  • 相关阅读:
    文件转换table
    日期选择
    下拉多选
    下载文件(简洁方法)
    服务器下载文件http
    文件名称 (年4+月2+日2+时2+分2+秒2+毫秒3+8位随机数)
    Vim自动补全神器:YouCompleteMe
    Linux下如何卸载HP_LoadGenerator
    python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
    linux安装IPython四种方法
  • 原文地址:https://www.cnblogs.com/weilf/p/4085291.html
Copyright © 2011-2022 走看看