Java的动态绑定

Java的动态绑定

ID:40566204

大小:30.50 KB

页数:2页

时间:2019-08-04

Java的动态绑定_第1页
Java的动态绑定_第2页
资源描述:

《Java的动态绑定》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java的动态绑定机制Java的动态绑定又称为运行时绑定。意思就是说,程序会在运行的时候自动选择调用哪儿个方法。一、动态绑定的过程:  例子:1publicclassSonextendsFather2Sonson=newSon();3son.method();1.首先,编译器根据对象的声明类型和方法名,搜索相应类(Son)及其父类(Father)的“方法表”,找出所有访问属性为public的method方法。可能存在多个方法名为method的方法,只是参数类型或数量不同。2.然后,根据方法的“签名”找出完全匹配的方法。方法的名称和参数列表称为方法的签名。  在JavaSE5.0以前的版

2、本中,覆盖父类的方法时,要求返回类型必须是一样的。现在子类覆盖父类的方法时,允许其返回类型定义为原始类型的子类型。1publicFathergetFather(){...}//父类中的方法2publicSongetFather(){...}//子类覆盖父类中的getFather()方法3.如果是private、static、final方法或者是构造器,则编译器明确地知道要调用哪儿个方法,这种调用方式成为“静态调用”。4.调用方法。如果子类Son中定义了method()的方法,则直接调用子类中的相应方法;如果子类Son中没有定义相应的方法,则到其父类中寻找method()方法。二、Dem

3、o1.子类重写父类中的方法,调用子类中的方法1publicclassFather{2publicvoidmethod(){3System.out.println("父类方法:"+this.getClass());4}5}6publicclassSonextendsFather{7publicvoidmethod(){8System.out.println("子类方法"+this.getClass());9}10publicstaticvoidmain(String[]args){11Fatherinstance=newSon();12instance.method();13}14}15

4、//结果:子类方法:classSon2.子类没有重写父类中的方法,所以到父类中寻找相应的方法publicclassFather{publicvoidmethod(){System.out.println("父类方法:"+this.getClass());}}publicclassSonextendsFather{publicstaticvoidmain(String[]args){Fatherinstance=newSon();instance.method();}}//结果:父类方法:classSon三、动态绑定只是针对对象的方法,对于属性无效。因为属性不能被重写。1publiccl

5、assFather{2publicStringname="父亲属性";3}4publicclassSonextendsFather{5publicStringname="孩子属性";67publicstaticvoidmain(String[]args){8Fatherinstance=newSon();9System.out.println(instance.name);10}11}12//结果:父亲属性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。