《java核心技术》学习笔记

来源:互联网 发布:铅弹可以在淘宝出售吗 编辑:程序博客网 时间:2024/04/28 04:55

1、类是构造对象的模板或蓝图。


2、对象的三个和主要特性:

 1)、对象的行为——可以对对象施加那些操作?或者说可以对对象施加那些方法?

 2)、对象的状态——当施加那些方法士,对象如何响应?

 3)、对象标示——如何识别具有相同行为或状态的不同对象?


3、可以将实例域定义为final。构建对象时初始化这样的域。


4、public class Math

      {

            ...........................................

            public static final double PI = 3.14159265358979323846;

            ...........................................

      }

      如果关键字static内省略,PI就变成了Math类的一个实例域,需要通过Math类的对象访问PI,并且每个Math对象都有他自己的一份拷贝。


5、静态方法是一种不能向对象实施操作的方法

       以下两种情况下需要实施静态方法:

       1)、一个方法不需要访问对象状态,其所需参数都通过显式参数提供的。

       2)、一个方法只需要访问类的静态域。


6、关键字extends标示继承。


7、关键字this有两个用途

      1)、一是引用隐形参数。

      2)、二是调用该类的其他构造器

      super关键字也有两个用途

      1)、调用超类的方法。

      2)、调用超类的构造器


8、java不支持多继承。


9、不允许扩展的类被称为final类。类中的特定方法也可以被声明为final,如果这样做,之类就不能覆盖这个方法(final类的所有方法都自动转换为final方法)


10、强制类型转换

         1)、只能在继承层次类进行类型转换。

         2)、在将超类转换为之类之前,应该使用instanccof进行检查。


11、相等测试与继承(equals)

         1)、如果子类能够拥有自己的相等概念,则对称性规则将强制采用getclass进行检测。

         2)、如果由超类决定相等的概念,那么就可以使用instanccof进行检测,这样可以在不同子类对象之间进行相等的比较。


12、能够分析类能力的程序称为反射,其作用为:

         1)、在运行中分析类的能力。

         2)、在运行中查看对象。

         3)、实现通用的数组操作代码。

         4)、;利用Methon对象,此对象很想C++中的函数指针。

        

13、继承设计技巧

         1)、将公共操作和域放在超类。

         2)、不要使用受保护的域。

         3)、使用继承实现“ls-a”关系。

         4)、除非所有继承的方法都有意义,否则不要使用继承。

         5)、在覆盖方法时,不要改变预期的行为。

         6)、使用多态,而非类型信息。

         7)、不要过多的使用反射。

0 0