• 多态


    概述

      多态是面向对象编程的一个特色,指的是一个方法可以有多种行为。多态与以下概念密切相关:

    方法重载

      重载是指用一个标识符表示同一范围内的多个事物。Java只能重载方法,不能重载变量或运算符。方法重载是指在一个类中使用同一个方法名定义多个方法,但是这些方法参数不完全一致,可能是个数不一致,也可能是参数类型不一致,还可能是参数顺序不一致,都可以让JVM判断当前要动态绑定的方法。

     1 class Overloading {
     2 
     3     public void overloading(int i, char c) {
     4         
     5     }
     6 
     7     public void overloading(char c, int i) {
     8         
     9     }
    10 
    11     public void overloading(int i) {
    12         
    13     }
    14 
    15 }
    Overloading

    方法重写

      方法重写是子类定义的方法与父类的方法相同,包括方法名相同和参数相同,相当于是对父类方法的重写。重写的方法前常用@Override注解标识。重写方法的返回值类型可以为原父类或父接口方法的返回值类型,也可以为其子类类型。

     1 class Overriding extends Overloading {
     2 
     3     @Override
     4     public void overloading(char c, int i) {
     5         super.overloading(c, i);
     6     }
     7 
     8     @Override
     9     public void overloading(int i, char c) {
    10         super.overloading(i, c);
    11     }
    12 
    13     @Override
    14     public void overloading(int i) {
    15         super.overloading(i);
    16     }
    17 
    18 }
    Overriding

    上转和下转

      上转是指将子类的类型转换为父类的类型。下转是指将父类的类型转换为子类的类型。

    1 @Test
    2 void testCasting() {
    3     Overriding o = new Overriding();
    4     // 上转
    5     Overloading up = (Overloading) o;
    6     // 下转
    7     Overriding down = (Overriding) up;
    8 }
    testCasting
  • 相关阅读:
    android音乐播放器开发 SweetMusicPlayer 摇一摇换歌
    kernel logo到开机动画之间闪现黑屏(android 5.X)
    [DLX反复覆盖] hdu 3656 Fire station
    使用清华源 tensorflow 安装
    类别不平衡问题之SMOTE算法(Python imblearn极简实现)
    在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
    OpenCV
    git clone速度太慢的解决办法
    OpenCV 3.4.2 环境搭建(适用于Ubuntu 一键安装)
    ubuntu16.04安装opencv3.4.1教程
  • 原文地址:https://www.cnblogs.com/lqkStudy/p/11026892.html
Copyright © 2020-2023  润新知