您的位置:首页 > 编程语言 > Java开发

Java后期绑定

2014-10-31 16:48 183 查看
该绑定方法是多太实现的关键,java中除了static和final(private方法属于final方法)之外,其它所有的方法都是后期绑定,将方法声明为final就是为了防止其他人覆盖该方法,更重要的是:这样做能有效的“关闭”动态绑定。比如下面的实例
(1):会输出father,因为没有动态绑定
public
class
Father {
      protected static void
print() {
             System.out.println("Father");
      }
}
public
class
Child2
extends
Father {
      protectedstaticvoid
print() {
             System.out.println("Child");
      }
      publicstatic 
voidprint2(Father f) {
             f.print();
      }
      publicstaticvoid
main(String[] args) {
             Father f =
new
Child2();
             print2(f);
      }
}
(2)普通的方法形式,输出child,因为没有定义为static
public
class
Father {
      protectedvoidprint()
{
             System.out.println("Father");
      }
}
public
class
Child2
extends
Father {
      protectedvoidprint()
{
             System.out.println("Child");
      }
      publicstatic 
voidprint2(Father f) {
             f.print();
      }
      publicstaticvoid
main(String[] args) {
             Father f =
new
Child2();
             print2(f);
      }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: