Java匿名内部类

Posted 路漫求索

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java匿名内部类相关的知识,希望对你有一定的参考价值。

匿名内部类

匿名内部类也就是没有名字的内部类,也没有class关键字。因为没有名字,所以匿名内部类只能使用一次。匿名内部类还必须继承一个父类或实现一个接口。当然也仅能只继承一个父类或者实现一个接口。

格式

new 父类构造器(参数列表)|实现接口()  
    {  
     //匿名内部类的类体部分  
    }

示例

Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"you clicked button",Toast.LENGTH_SHORT).show();
            }
});    

示例2

abstract class Father(){
....
}
public class Test{
   Father f1 = new Father(){ .... }  //这里就是有个匿名内部类
}

拆分上面的匿名内部类可为:

class SonOne extends Father{
  ...       //这里的代码和上面匿名内部类,大括号中的代码是一样的
}
public class Test{
   Father f1 = new SonOne() ;
}

参考

https://blog.csdn.net/guyuealian/article/details/51981163
https://www.cnblogs.com/chenssy/p/3390871.html

以上是关于Java匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章

java匿名内部类

java内部类之成员内部类之匿名内部类

java 匿名对象,内部类,修饰符,代码块

理解java匿名内部类

对 Java 的匿名内部类理解

java基础学习——29匿名内部类