第八章 多态

<p>java中除了static和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。将某个方法声明为final可以有效的“关闭”动态绑定。</p> <p>只有非private方法才可以被覆盖,在导出类中对于基类中的private方法,最好采用不同的名字。</p> <p>类中的域和静态方法也不具有多态性。静态方法是与类,而非单个的对象相关联的。</p> <p>难点:在构造器内调用动态绑定方法(构造器内的多态行为)</p> <p>在构造器内部调用一个动态绑定方法,就要用到那个方法被覆盖后的定义。然而这个这个调用的效果是相当难预料的,因为被覆盖的方法在对象被完全构造之前就会被调用。</p> <p>编写构造器时,用尽可能简单的方法使对象进入正常状态;如果可以的话,避免调用其他方法。在构造器内唯一能够安全调用的那些方法是父类中的final方法(包括private方法)。</p> <h3>对象创建过程:</h3> <p>1.根据类路径找到xxx.class文件,并加载文件</p> <p>2.按照定义顺序初始化static域,生成static方法</p> <p>3.调用构造方法为对象分配内存空间,并把该内存空间全清零(自动初始化)</p> <p>4.初始化域,并创建对象</p> <p>用行为表示继承间的差异,并用字段表示状态上的变化。</p>

转载于:https://my.oschina.net/u/932901/blog/101805

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值