Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。
Java核心技术读书笔记
1. super不能指向一个对象,不即不代表当前类对象引用,也不代表超类对象引用,他只是一个调用超类方法
的一个关键字。如果子类没有显式的调用超类的构造器,则将自动地调用超类默认的构造器。
2. 一个对象变量可以引用多种实际类型的现象被称为多态。尤其是一个对象变量可以引用其子类的对象。在
运 行时能够自动地选择调用的适当方法的现象称为动态绑定。如果方法是private、static、final或者构造器,
那么编译器可以准确地知道应该调用哪个方法。我们将这种调用方式称为静态绑定。在覆盖一个方法时,
子类方法不能低于超类方法的可见性。
4. 如果将一个类声名为final,其方法将自动地成为final,而它的域则不一定是final的。
5. 强制类型转换规则:只能在继承层次内进行类型转换;在将超类转换成子类之前,应该使用instanceof方法进
行检查。
6. 抽象类:它有什么必要?它可以包括非抽象方法和具体数据,不包含抽象方法的类也可以声名为抽象类,
但它仍然不可以实例化。可以定义一个抽象类型的对象变量,但它只能引用非抽象子类的对象。
7. 数据封装原则之一,在本类做了任何修改不影响其他地方。
8. 4个访问修饰符的可见性:private只对本类可见;public对所有类可见;protected对本包及所有子类可见;默
认对本包可见。
9. Object类的equals方法设计讲究很多原则,他用于比较两个对象是否相等,是比较两个对象的内存地址是否
相等。若子类不覆盖此方法,相等性比较将也是比较两个变量是否引用同一快内存空间,这显然是没有任
何意义的,所以设计类时一般要覆盖掉Object类的equals方法。
10. hashCode方法:是由对象导出的一个没有规律的整型值,所以若x和y是两个不同对象,其散列码基本上不
会相等。Object的散列码值是对象的存储地址。若子类重写了Object的equals方法,也必须重写Object的
hashCode,因为两个对象相等,他们必须保证有相同的散列码。
11. toString()方法,用于返回表示对象状态值的字符串,Object中的toString()方法得到类名和散列码,很多方法
都覆盖了Object的toString方法,用于输出对自己有意义的结果
12. ArrayList是一个采用类型参数的泛型类。此功能在JDK5.0以后才出现。
13. 将基本数据类型如 int转换为包装类型如 Integer的构成叫打包,反过来叫拆包。在JDK5.0以前必须手工地
插入打包和拆包的代码,现在编译器可以自动的进行打包拆包动作。
14. JDK5.0以后支持参数个数可变的方法。