zoukankan      html  css  js  c++  java
  • Java中的多态

    1.多态:具有表现多种形态的能力的特征

    父类:

    public abstract class Animal {
    public abstract void Say();
    }

    子类:

    public class Dog extends Animal {

    @Override
    public void Say() {
    System.out.println("狗");
    }

    }

     

    public class Cat extends Animal{

    @Override
    public void Say() {
    System.out.println("猫");

    }

    }

    因此这样就可以将父类中的抽象Say()方法重写

    2.如果把引用变量转换为子类类型,则称为向下转型,如果把引用变量转换为父类类型,则称为向上转型。在进行引用变量的类型转换时,会受到各种限制。而且在通过引用变量访问它所引用的实例的静态属性、静态方法、实例属性、实例方法,以及从父类中继承的方法和属性时,java虚拟机会采用不同的绑定机制。

    3.java编译器允许在具有直接或间接继承关系的类之间进行类型转换,对于向上转型,不必使用强制类型转换,因为子类的对象肯定也可看做父类的对象。例如一个Dog对象是一个Animal对象,也是一个Object对象

    4.使用父类方法实现多态

    父类:

    public class Animal {
    public void Say(){

    };
    }

    子类:

    public class Dog extends Animal {

    public void Say() {
    System.out.println("狗");
    }

    }

    只要和父类方法名相同即可重写父类方法

  • 相关阅读:
    自定义异常
    finally关键字
    捕捉异常try-catch
    throws抛出异常
    exception概述和分类
    jvm前奏篇
    Java并发编程学习随笔 (一) 使用run() 和 start()的差别
    MyCat学习 ------分库分表 随笔
    java最常用的内置工具类
    Mybatis框架常见面试题
  • 原文地址:https://www.cnblogs.com/yangsongxiao/p/5979433.html
Copyright © 2011-2022 走看看