Java基础:【接口】作为方法的参数、【接口】作为方法的返回值

简单起见,拿一个现成的接口来举例

前面通常是这样定义集合:
ArrayList list = new ArrayList<>();

按住 Ctrl 鼠标点击 ArrayList 后跳转发现:
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable{...}

继续按住 Ctrl 鼠标点击 List 后跳转发现:
public interface List extends Collection {...}

以上说明ArrayList是接口List的一个实现类。

接下来以接口List为例,简单介绍【接口】作为方法的参数、【接口】作为方法的返回值的用法。

import java.util.ArrayList;
import java.util.List; // 这正是ArrayList所实现的接口

public class Demo {
    public static void main(String[] args) {
        // 多态写法,左为接口名,右为实现类名
        List<String> list = new ArrayList<>(); // 向上转型,接口内容为空
        List<String> result = addName(list); // 接口名作为参数传入
        
        for (int i = 0; i < result.size(); i++) {
            System.out.println(result.get(i));
        }
    }

    public static List<String> addName(List<String> list) { //再返回一个接口类型
        list.add("貂蝉");
        list.add("杨玉环");
        return list;
    }
}

// 貂蝉
// 杨玉环

你可能感兴趣的:(Java)