多态详解(多态zpn)

  本篇文章为你整理了多态详解(多态zpn)的详细内容,包含有解释多态 多态zpn 多态的三种常用方式 多态 定义 多态详解,希望能帮助你了解 多态详解。

  1.多态的概念
 

  同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)
 

  `

  

 new Student();//new了一个对象则它的实际类型是确定的

 

   new Person();

  

 

  `

  
 

  当子类重写父类的方法之后就走的都是子类的方法如下图:

  
 

  对象能执行哪些方法,主要看对象左边的类型,和右边关系不大,如下图

  
 

  2.多态注意事项
 

  (1)多态是方法的多态,属性没有多态。
 

  (2)父类和子类有联系,若没有关系强制转换时会出现转换异常(ClassCastException)
 

  (3)存在与继承关系,且方法得重写,父类的引用指向子类对象
 

  3.一些不能重写的方法
 

  (1)static方法,属于类,但不属于实例
 

  (2)final方法:常量
 

  (3)private方法
 

  Application类方法代码:

  点击查看代码

  

package com.Tang.oop.demo06;

 

  public class Application {

   public static void main(String[] args) {

   //一个对象的实际类型是确定的

   //new Student();

   //new Person();

   //可以指向的引用类型就不确定了

   //Student能调用的方法都是自己的或者继承父类的

   Student s1 = new Student();

   //Person 为父类型,虽然可以指向子类但是不能调用子类独有的方法

   Person s2 = new Student();//父类的引用指向子类

   Object s3 = new Student();

   //对象能执行哪些方法,主要看对象左边的类型,与右边关系不大

   s2.tea();

   s1.tea();

   //s2.run();//子类重写父类方法,则执行子类的方法

   //s1.run();

  

 

  Student类方法代码:

  点击查看代码

  

package com.Tang.oop.demo06;

 

  public class Student extends Person{

   @Override

   public void run() {

   System.out.println("son");

   public void tea(){

   System.out.println("chifan");

  

 

  Person类方法代码:

  点击查看代码

  

package com.Tang.oop.demo06;

 

  public class Person {

   public void run(){

   System.out.println("run");

  

 

  以上就是多态详解(多态zpn)的详细内容,想要了解更多 多态详解的内容,请持续关注盛行IT软件开发工作室。

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

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