码迷,mamicode.com
首页 > 编程语言 > 详细

java中的匿名内部类

时间:2017-10-27 23:09:36      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:变量   参考   details   数列   存在   引用   继承   静态成员   tail   

 

一、使用匿名内部类内部类

       匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下:

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

 

       在这里我们看到使用匿名内部类我们必须要继承一个父类或者实现一个接口,当然也仅能只继承一个父类或者实现一个接口。同时它也是没有class关键字,这是因为匿名内部类是直接使用new来生成一个对象的引用。当然这个引用是隐式的。

for example:

        Queue<Integer> queue = new PriorityQueue<Integer>(10,
                new Comparator<Integer>(){
                    public int compare(Integer i, Integer j){
                        int result = i % 2 - j % 2;
                        if (result == 0)
                            result = i - j;
                        return result;
                    }
        });

  二、注意事项

       在使用匿名内部类的过程中,我们需要注意如下几点:

      1、使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。

      2、匿名内部类中是不能定义构造函数的。

      3、匿名内部类中不能存在任何的静态成员变量和静态方法。

      4、匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。

      5、匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。

参考:http://blog.csdn.net/chenssy/article/details/13170015

java中的匿名内部类

标签:变量   参考   details   数列   存在   引用   继承   静态成员   tail   

原文地址:http://www.cnblogs.com/smuxiaolei/p/7745512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!