多态

概述

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

方法重载

  重载是指用一个标识符表示同一范围内的多个事物。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

posted on 2019-06-15 11:09  寇德·坡特  阅读(126)  评论(0编辑  收藏  举报

导航