首页 > 代码库 > JAVA豆知识

JAVA豆知识

--java知识点---

2017/04/12

浅析Java中的final关键字 http://www.cnblogs.com/dolphin0520/p/3736238.html

Java内部类详解 http://www.cnblogs.com/dolphin0520/p/3736238.html

----------------------------------------------------------------------------------

 

1. Set Map HashMap Tree ArrayList LinkedList List collection
2. iterator

 Collection(I)                                                    Map(I)
            |                                                              |
    ----------------------------                              ---------
    |                    |             |                              |          |
  List(I)          Queue(I) Set(I)               HashMap    SortedMap
    |                    |              |                             |           |
 --------------      |          --------------     HashTable    TreeMap
 |                |      |          |                |
ArrayList LinkedList HashSet  SortedSet

0.尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果以后需要将ArrayList换成LinkedList时,客户端代码不用改变。这就是针对抽象编程。

1. 对象只有一种创建方式
  String s = new String();

2. 所有数值类型都有正负号,没有无符号类型

3. 对象数组:String s[] 每个引用为null
   基本类型数组: int a[] 每个0

4. 永远不要释放对象

5. 每个类都必须存放在包中
  com.mycompany.xxx

6. 不要引用对引用赋值(除了参数传递),修改一个影响另一个

7. clone() 定义在Object中的protected方法,其它类要使用它,要重写Clone()并且定义为public. 返回值是Object类型,所以要强制转换下
  编写可克隆类:(1)implements Cloneable  (2)重写clone,调用super.clone() (3)clone声明为public (4)捕获CloneNotSupportedException异常

8. ArrayList的clone只能做到外面拷贝,内部对象还是同一个的对象

9. Random rand = new Random()
rand.newInt(100); //生产0 - 99的随机数

10. 对象的== 比较的是引用
    对象的equal() 比较的是实际内容相同
    自定义类equal() 比较的是对象的引用,所以要重载

11. 不能把非布尔值当成布尔值使用(与CC++不同)

12. >>>移位运算符,高位填0

13. 字符串与非字符串使用+连接,则必须以字符串开始

14. 0x 0

15. char byte short 做算术运算,会转成ini

16. this(...) 调用构造器, 构造器中只能使用一个,并且放在第一句

17. finalize()并不一定被调用,可用来检测错误,所以只能手动代替析构函数

18. ini[] a = new int[10] 尽量使用这种方式, 数组间可以赋值,是复制引用
   a.length()

19. 在子类中重新方法不会屏蔽基类的同名方法(C++会屏蔽)

20. 只有非private方法才能被重写

21.


css篇
1. 选择器  p 代表 段落标签     #p 代表 id="p" 的标签   .p  代表 class="p" 的标签  三者可以嵌套  #nav .li {...}

JAVA豆知识