首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >协变返回类型

协变返回类型

作者头像
用户7886150
修改于 2021-02-01 10:23:17
修改于 2021-02-01 10:23:17
1.3K0
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Java covariant返回类型

协变返回类型:子类覆写了父类的一个方法,子类中方法的返回值类型可以是父类方法返回值类型的子类。 示例代码(Java编程思想)如下所示:子类WheatMill覆写了父类Mill的process方法,子类proces方法的返回值Wheat是父类proces方法返回值Grain的子类。 

public class CovariantReturn {

    public static void main(String[] args) {

        Mill m = new Mill();

        Grain g = m.process();

        System.out.println(g);

        m = new WheatMill();

        g = m.process();

        System.out.println(g);

    }

}

class Grain{

    @Override

    public String toString() {

        return "Grain";

    }

}

class Wheat extends Grain{

    @Override

    public String toString() {

        return "Wheat";

    }

}

class Mill{

    Grain process(){

        return new Grain();

    }

}

class WheatMill extends Mill{

    Wheat process(){

        return new Wheat();

    }

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档