java面向对象多态性,面向对象编程 多态

  java面向对象多态性,面向对象编程 多态

  多态的简单理解:

  如果学生类继承了person类,则学生类的对象既是学生又是Person类。

  多态性具有两种展现的形式:

  1.方法的多态性:

  (1)方法重载:同一个方法可以根据传入参数的类型或个数实现不同的功能。

  (2)方法覆盖:同一个方法根据不同的实现子类,可能有不同的实现。

  2.对象的多态性:

  父类和子类实例之间的转换

  (1)对象向上转换:父类实例=新子类实例();自动转换

  (2)对象向下转换:子类子类实例=new(子类)父类实例();完成强制转换。

  分享相关视频教程:java免费视频教程

  多态的最终体现:

  1.父类的引用变量可以指向子类对象。

  2.多态的前提是必须有父子类关系或者类接口关系,否则不能实现多态。

  3.当使用多态父类引用变量调用方法时,将调用子类重写的方法。

  多态的成员变量:

  1.编译时,引用父类没有这个变量。如果是,它将编译成功;如果不这样做,它就会失败。

  2.在运行时,运行父类中的变量值。

  成员编译和运行都依赖于父类。

  多态的成员方法:

  1.编译时参考父类中是否存在该方法。如果是,则编译成功;如果没有,就会失败。

  2.当它运行时。运行子类的重写方法。

  成员编译查看父类,运行查看子类。

  对象的两种转型方式的理解:

  1.对象向上转型:

  向上转换后,子类对象只能调用父类拥有的方法,不能单独调用子类拥有的方法,通过向上转换可以使用多态性。

  2.对象向下转型:

  如果要在对象向上变换后使用子类而非父类独有的方法,则需要使用对象的向下变换。

  代码演示:

  公共类人员{

  public void Eat(){

  //在person类中定义一个抽象的吃饭方法

  }

  }

  公共课学生拓展人{

  public void Eat(){

  System.out.println(“学生吃学校食堂”);//重写父类中的抽象方法

  }

  公共void学习()

  {

  System.out.println(学生在学习);//定义学生类独有的方法

  }

  }

  公共类测试{

  公共静态void main(String[] args) {

  //TODO自动生成的方法存根

  Person p=新生();//通过向上变换定义一个P对象

  页(page的缩写)吃();//这是孩子和家长共有的方法。

  页(page的缩写)学习();

  }

  }在这段代码中,我们通过向上转换来调用一个特定于子类的方法,但是我们会提示下图:

  如何解决写爬虫IP受阻的问题?立即使用。

  父类中没有定义学习方法。但是我们要调用子类的唯一方法,这个时候就需要通过向下转换来实现。

  补充代码如下:

  学生stu=(学生)p;//将P对象向下转换以实现方法调用

  斯图。学习();要了解更多相关教程,请访问:java快速入门。以上是java面向对象多态性的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: