#随笔之java匿名内部类

来源:互联网 发布:养车软件哪个好 编辑:程序博客网 时间:2024/06/08 13:38

随笔之java匿名内部类

从今天起开始每日一篇技术博客,当然这只是我当天所学的一些随笔,里面或多或少会有理解不当的地方,希望大家多多指教,一起进步!

在讲匿名内部类之前,先讲讲内部类的一些概念。

1.内部类:顾名思义,内部类就是写在一个类里面的类(废话),这里大家可能会问了,为什么我们不直接写一个class呢,非要写在内部。原因很简单,内部类一方面是有很好的封装性,要通过外部类对象才能访问(具体实例见下方代码)。另一方便定义起来很方便。最后,内部类还可以骚气地实现多重继承,因为外部类是否继承或实现一个抽象类或接口对内部类毫无影响,内部类依然可以去继承,这样是一种变相的多继承。接下来我们看一下内部类的一个实例

/**  @author lw  */public class InnerClassTest {        class InnerClass        {            //public InnerClass(){}            public void B()            {                System.out.println("这是内部类方法");            }        }    public static void main(String args[])    {        InnerClassTest i=new InnerClassTest();        i.new InnerClass().B();    }}

从这个程序可以看到,我们在实例化内部类时,需要借助外部类的对象,否则会报错。但如果类改为static,就可以直接调用。

内部类除了可以直接定义在类中,还可以定义在类的方法中,但需注意的是该类只能在本方法中实例化。

好了,讲了那么多废话,开始进入正题,匿名内部类!有没有很开心??==
首先还是从概念说起,匿名内部类的两个特征,一是匿名,而是内部类(哈哈哈又是废话)。
我们通过一个实际的例子来理解这个东西。

TestInterface接口

/** * @author lw *  */public interface TestInterface {    public void print();}
    *

InnerClassTest.class(和内部类名字一样,偷了个懒)

`

/** * @author lw  */public class InnerClassTest {    public static void main(String args[])    {        TestInterface test=new TestInterface()//new一个接口很奇怪。。。        {            public void print()            {                System.out.println("匿名内部类");            }        };          test.print();    }}

这里我们可以看到,匿名内部类的好处主要在于简化代码,用专业一点的话来说就是写得比较优雅,如果不用匿名内部类的话我们要实现该接口需要新建一个class,然后实现,但可以想象,如果这个类我们只用一次呢?这样的新建class是不是完全没有必要,用匿名类的方法就可以直接简洁地实现了。我们需要注意的是匿名内部类一定要对应一个父类或者接口,然后在里面实现其需要的方法,额虽然在写的时候new一个接口很奇怪。。。同时我们要明确的是匿名内部类只能用一次,不能在外部复用,所以对于多次使用的类不能用该方法。以上都是个人理解,如有不对望指正~晚安!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 上古卷轴5免疫死亡奴役怎么办 dw手表时针不动了怎么办 雷达陶瓷表壳摔坏了怎么办 雷达表盘摔坏了怎么办 雷达测速60超了怎么办 卡西欧手表电池没电了怎么办 审稿人让引用他的文章怎么办 考二建未从事该行业满两年怎么办 2档换3档离合器怎么办 高铁车票丢了怎么办 事业编制调动原单位不同意怎么办 想去铁路上工作怎么办 房产权50年以后怎么办 在香港手机没电怎么办 学校官网登陆忘记密码怎么办 网上申报学校忘记密码怎么办 专转本想换专业怎么办 发生工伤没有平均公资怎么办? 单招过了不想去怎么办 22岁了还想复读怎么办 父母不让我读大专了怎么办 专升本考试失利怎么办 高考复读一年后失败了怎么办? 医保住院超过30万怎么办 北京医保超过2万怎么办 工伤公司垫付医疗费没法报销怎么办 司法考试照片耳朵露不出来怎么办 新华社毕业证照片用光了怎么办 农村父母投靠落户社保怎么办 退休后投靠父母户口怎么办 要离婚想儿子了怎么办 怀孕期间离婚了孩子户口怎么办 常州武进区怎么办居住证明 跟老公离婚了户口怎么办 离婚了不给户口怎么办 父母不给户口本迁户口怎么办 产能置换的煤矿职工怎么办 如果是单位集体户小孩读书怎么办 异地防疫不给打怎么办? 青岛市办理大龄就业困难补贴怎么办 就业登记证掉了怎么办