【学习笔记】JAva编程思想之多态

时间:2024-01-12 08:36:38

1、如果java的基类拥有某个已被多次重载的方法名称,那么在导出类中重新定义该方法名称并不会屏蔽在基类的任何版本。因此,无论是在该层或者他的基类中对方法进行定义,重载机制都可以正常工作。

2、使用@Override注解可以防止你在不想重载时而意外地进行了重载。

3、如果需要使用向上转型,那么就使用继承技术,否则使用组合技术。

4、java除了static方法和final方法外,其他所有方法都是动态绑定,在运行时才确定对象的类型。因此final和static方法都不具有多态性。

5、private 方法被自动默认是final方法。

6、只有非private方法才可以被覆盖,在导出类中,对于基类的private方法最好采取不同的名称。

7、只有类的普通方法是多态的,对于类的域不是多态。因此,通常上将所有域设置成private。

8、构造器实际上是static方法。

9、初始化遵循以下顺序:

    1) 在任何事物发生之前,将分配给对象的存储空间初始化成二进制的0。

    2) 调用基类构造器。

    3) 按声明顺序调用成员的初始化方法。包括基类中的成员

     4) 调用导出类构造器的主体。

10、编写构造器时的原则是:尽可能简单的方法使对象进入正常状态,避免调用其他方法。在构造器内唯一能安全调用过的方法是基类中的final或private方法。调用其他方法,很可能会因为没有正确初始化,而产生异常。

11、 用继承表达行为间的差异,并用字段表达状态上的变化。