java多态性怎么理解,java中多态的含义
如何解决写爬虫IP受阻的问题?立即使用。
多态性:多态性是指允许不同的对象子类型对同一消息做出不同的响应。简单来说就是用相同的对象引用调用相同的方法但是做不同的事情。多态性分为编译时多态性和运行时多态性。
如果把对象的方法看作是对象向外界提供的服务,那么运行时多态可以解释为:当系统A访问系统B提供的服务时,系统B有很多方式提供服务,但一切对系统A都是透明的(就像电动剃须刀是系统A,它的供电系统是系统B,系统B可以用电池或交流电供电,甚至可以用太阳能。系统A只通过B类对象调用供电方法,不知道供电系统。
方法重载在编译时实现多态性(也称为预绑定),而方法重写在运行时实现多态性(也称为后绑定)。
运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:
方法覆盖(子类继承父类,覆盖父类中已有的或抽象的方法);
对象建模(用超类型引用引用子类型对象,使同一个引用调用同一个方法,根据不同的子类显示不同的行为)。
java中有两种类型的引用变量:编译时类型和运行时类型。编译时类型由用于声明该变量的类型决定,而运行时类型实际上被赋给
变量的对象决定。如果编译时类型与运行时类型不一致,就可能出现所谓的多态性。3354疯狂java讲义运行时多态的使用例子如下:
公立大学5
{
Public void run(Car car)//这样通过使用公共父类屏蔽了子类之间的区别,可以处理所有的汽车。
{
car.run()。//只要子类继承car,就可以作为参数传入方法。如果没有多态性,那么每个类都必须有一个对应的方法。很麻烦。
}
公共静态void main(String[] args)
{
poly test 5 test=new poly test 5();
Car car=新宝马();
test.run(汽车);
QQ qq=新QQ();
test . run(QQ);//向上类型转换。
}
}
班级汽车
{
公共无效运行()
{
System.out.println(车在跑);
}
}
宝马级加长车
{
公共无效运行()
{
System.out.println(宝马在跑);
}
}
QQ级延伸车
{
公共无效运行()
{
System.out.println(QQ正在运行);
}
}多态的三要素:1.继承2。重写3。父类是指子类对象。
以上是如何理解java中多态性的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。