其他分享
首页 > 其他分享> > 接口作为方法的参数和或返回值与发红包案例_分析

接口作为方法的参数和或返回值与发红包案例_分析

作者:互联网

interface作为方法参数和返回值类型 当接口作为方法的参数时,需要传递什么呢?当接口作为方法的返回值类型时,需要返回什么呢?对,其实都是它的 子类对象。 ArrayList 类我们并不陌生,查看API我们发现,实际上,它是 java.util.List 接口的实现类。所 以,当我们看见 List 接口作为参数或者返回值类型时,当然可以将 ArrayList 的对象进行传递或返回。 请观察如下方法:获取某集合中所有的偶数。 定义方法:
public static List<Integer> getEvenNum(List<Integer> list) {
// 创建保存偶数的集合
ArrayList<Integer> evenList = new ArrayList<>();
// 遍历集合list,判断元素为偶数,就添加到evenList中
for (int i = 0; i < list.size(); i++) {
Integer integer = list.get(i);
if (integer % 2 == 0) {
evenList.add(integer);
}
}
/*
返回偶数集合
因为getEvenNum方
因为getEvenNum方法的返回值类型是List,而ArrayList是List的子类,
所以evenList可以返回
*/
return evenList;
}
 
package demo05;

import java.util.ArrayList;
import java.util.List;

/*
java.util.List正是ArrayList所实现的接口。
 */
public class DemoInterface {

    public static void main(String[] args) {
        // 左边是接口名称,右边是实现类名称,这就是多态写法
        List<String> list = new ArrayList<>();

        List<String> result = addNames(list);
        for (int i = 0; i < result.size(); i++) {
            System.out.println(result.get(i));
        }
    }

    public static List<String> addNames(List<String> list) {
        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("玛尔扎哈");
        list.add("沙扬娜拉");
        return list;
    }

}
接口作为参数时,传递它的子类对象。 接口作为返回值类型时,返回它的子类对象。 综合案例——发红包【界面版】 红包文化源远流长。从古时的红色纸包,到手机App中的手气红包,红包作为一种独特的中华文化传承至今。之前 的课程中,我们也编写过程序,模拟发普通红包。那么今天,我们将整合基础班课程中所有的技术和知识,编写一 个带界面版的 发红包 案例。 目前,我们尚未学习过任何与界面相关的类。所以,界面相关代码,已经给出。请运用所学技术分析并使 用。 案例需求 分析并使用已给出的类,编写程序,设置红包类型。 小贴士 红包类型: 1. 普通红包:金额均分。不能整除的,余额添加到最后一份红包中。 2. 手气红包:金额随机。各个红包金额累和与总金额相等。 红包场景: 此案例是模拟群主给群成员发红包,群主自己打开最后一个红包的场景。  

 

  public interface OpenMode { /** * @param totalMoney 总金额,单位是"分"。总金额为方便计算,已经转换为整数,单位为分。 * @param count 红包个数 * @return ArrayList<Integer> 元素为各个红包的金额值,所有元素的值累和等于总金额. * * 请将totalMoney,分成count分,保存到ArrayList<Integer>中,返回即可. */ public abstract ArrayList<Integer> divide(int totalMoney, int count); }

标签:红包,list,ArrayList,List,接口,发红包,返回值,public
来源: https://www.cnblogs.com/x3449/p/16445771.html