一.内部类
java内部类总结:
https://segmentfault.com/a/1190000013386064
内部类演示:
public class Demo{
private String str = "外部类中的字符串";
static class Inner{
private String inStr = "内部类中的字符串";
public void print() {
// 静态内部类无法调用 ,非静态的外部参数。
//System.out.println(str);
System.out.println("内部类打印");
}
}
//
public void fun() {
// 在外部类 创建内部类对象
Inner i = new Inner();
i.print();
}
}
匿名内部类:
public static void test() {
// 内部类,1---n的累加
class XXx{
public void sum(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
count = count + i;
System.out.println(count);
}
}
}
XXx x = new XXx();
x.sum(100);
}
lambda表达式:
把代码变的更加简单。可读性比较差。 scala( spark ).
1、简化匿名内部类的编写。
2、直接实现接口中的函数。
3、函数名 (参数列表)
4、函数实现用"->" 表示实现。{}表示实现的具体逻辑。
5、用接口去声明使用。
6、用声明的变量调用实现 的方法。
例如:
没有参数,直接返回。这样的函数 () -> 6; 参数列表 -> 语句块;
//实现外部接口
interface B{
void b(String str);
}
// 5、接收字符串对象,并在控制台打印。
new B() {
public void b(String s) {
System.out.println(s);
}
}.b("hello");
可以简写为:
两种写法:
// () -> {}; 等于 () -> o;
B b5 = (String str) -> {System.out.println(str);};
B b5_1 = (s) -> System.out.println(s);
b5.b("moring");
b5_1.b("hello");
方法的引用:
::,使代码更加紧凑简洁。
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
//list.forEach((String b) -> System.out.print(b));
//list.forEach(e -> System.out.println(e));
//简写为下面一种方法
// 方法引用
list.forEach(System.out::println);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。