java基础的运用挺实用的。这个实用并非一定要这样写,而是这样写,很高级。比如多态的使用,可以不用多态,但是用了之后就会很漂亮简介,这就是基础的运用。
下面就是类的内部接口
作用呢,我个人觉得有两种
1接口私有,接口的方法只会在本类中实现实用。当然,你可以破坏这种私有的东西,但是让人感觉脑袋有包
2灵活可变,这个和第一个就有所相反,他是在其他调用的地方实现接口具体逻辑,通过回掉来执行逻辑
注意:类内部接口默认静态化
代码实例如下
第一种:
/*
* Copyright © 2021 All rights reserved.
*/
package com.example.frlyh.internei;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 接口私有,接口的方法只会在本类中实现实用
* @author frlyh
* @version 1.0: DemoNeiInter1.java, v 0.1 2022/1/3 9:45 PM frlyh Exp $
*/
public class DemoNeiInter1 {
private static final Map<String, DemoInter> demoInter = new HashMap<>();
private static final Map<String, DemoInter2> demoInter2 = new HashMap<>();
public void do_dd(String s){
int i = demoInter.get("key1").inter1(null, null, "ss");
demoInter2.get("key4").inter2(null,"ss");
}
interface DemoInter {
int inter1(Object obj, List<String> topics, String data);
}
interface DemoInter2 {
void inter2( List<String> topics, String data);
}
static {
demoInter.put("key1", (obj, topics, data) -> {
return 1;
});
demoInter.put("key2", (obj, topics, data) -> {
System.out.println(2);
return 2;
});
demoInter.put("key3", (obj, topics, data) -> {
System.out.println(3);
return 3;
});
}
static {
demoInter2.put("key4", (topics, data) -> {
System.out.println(4);
});
}
}
你可以自己内部定义不同的实现,而不是用if直接在具体实现部分建楼
第二种:
引用.
public class Fruits {
public interface Apple {
public String info();
}
}
public class Test {
public static void main(String[] args) {
Fruits.Apple apple = new Fruits.Apple() {
@Override
public String info() {return "I'm an Apple";}
};
System.out.println(apple.info());
}
}
main方法中实现具体逻辑
输出apple.info()的时候,调用执行具体的逻辑输出