A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小子考驾照 中级黑马   /  2014-8-28 21:46  /  964 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java是面向对象的语言,多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制,主要体现在继承和接口实现两方面,详见例子:(怎么排版的,就是可以复制代码那个样子,不知道怎么弄,谁教一下啊,谢谢)
继承实现多态例如:
class A
{
method()
{
System.out.println("a");
}
}
class B extends A
{
method()
{
System.out.println("b");
}
}
class test
{
public static void main(String[] args)
{
A test = new B();
test.method();
}}//执行以后输出的是:b。解释就是:父类引用(A)指向子类对象(B),这个引用调用的是子类的方法,而不是父类A的方法;

接口现多态其实原理类似:
interface A
{
method();
}
class B implements A
{
method()
{
System.out.println();
}
}
class test
{
System static void main(String[] args)
{
A test = new B();
test.method();
}}//此处便会使用java的多态,B实现了A,虽然=前面是A test,但实际上生成的确是B的对象,所以调用它的方法,同继承中的父类对象指向子类对象原理相同,只是此处为继承;


多态的好处非常明显啊,有人总结:
        1.可替换性。多态对已存在的代码具有可替换性。
        2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
  3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
  4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。
  5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。

1 个回复

倒序浏览
看来楼主最近学的不错啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马