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("狗");
    }

    }

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

  • 相关阅读:
    ubuntu12.04启动系统时报错
    TCP&HTTP协议详解
    nginx日志分析、切割与防盗链
    Nginx Rewrite规则详解
    nginx location深入剖析
    hadoop自动安装脚本
    极易中文分词
    朴素贝叶斯算法分析及java 实现
    随机森林(Random Forest)
    ubuntu 13.04 安装 JDK
  • 原文地址:https://www.cnblogs.com/yangsongxiao/p/5979433.html
Copyright © 2011-2022 走看看