Java个人学习总结——有关Java接口的理解和lambda

1、对接口的理解,借口是不同方法的集合,接口中只定义相应的特征,不实现具体的方法,方法可以在不同的类当中具体实现

注意一个方法的特征仅包括方法的名字,参数的数目和种类

接口之间可以互相延伸,实现接口中具体的类的时候,注意用关键字implements

2、函数式接口特性,只定义一个抽象的方法

3、接口中的静态的方法,只要有实现这个接口的所有的类,都自动拥有默认的静态方法

4、引入lambda的目的在于代码的简洁性和可维护性,lambda允许使用表达式代替接口

比如利用lambda定义排序的方法:

package LambdaTest;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class UseComparator {
public static void main(String args[])
{
	List strings = new ArrayList();
	strings.add("DDDD");
	strings.add("BBBB");
	strings.add("CCCC");
	strings.add("AAAA");//比较相应英文单词的大小
	Comparator comparator=(str1,str2)->{
		return str1.compareToIgnoreCase(str2);
	};//重新定义类,重写comparator的比较方法
	Collections.sort(strings, comparator);
	for (String str:strings)
	{
		System.out.println(str);
	}
}
}

1、此处利用lambda表达式避免重写一个方法,同时lambda表达式可以接受参数完成相应的功能,比如示例中lambda表达式接受了str1和str2两个参数

2、可实现动态的指定筛选的条件

所以使用lambda表达式主要是为了代码的简洁和可维护性

你可能感兴趣的:(Java个人总结)