匿名内部类。就是内部类的简写格式(其实就是创建一个子类对象)——————包括对接口的继承以及实现两个功能
?
前提:内部类必须继承或者实现一个外部类或者接口
?
解释一下:
?
?
?
?
public class Main {
????public static void main(String[] args){
????????Main main = new Main();
????????main.test(new Man(){
????????????//这里传入一个Man接口的匿名实现类的实例
????????????public void talk(){
????????????????System.out.print("I‘m a man!");
????????????????//output I‘m a man!
????????????}
????????});
????}
?
?
????public void test(Man m){
????????//调用该方法需要传入一个Man类型参数
????????m.talk();
????}}
?
?
interface Man{
????void talk();}
?
举个栗子:在上述代码中,第四行调用Main对象的test方法,test方法的参数是接口类型的,但是在实际传参数的过程中需要对这个接口进行复写和实现,所以直接在第四行采用 new 接口名的方式对接口进行了复写,并生成了一个对象.(test方法的参数是一个接口,说明 实现了这个接口的类的对象都可以作为参数传进去)
原文:https://www.cnblogs.com/beeenwei/p/12553678.html