zoukankan      html  css  js  c++  java
  • java中的匿名内部类

     

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

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

    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

  • 相关阅读:
    Longest Mountain in Array 数组中的最长山脉
    css 解决 图片 底部 3像素问题
    获取当前年月日2020-09-30格式
    vue + elememt ui table 实现滚屏效果
    滚动字
    layui 之监听 select 的变化
    正则匹配非汉字
    layui form里的select元素动态赋值无效
    layui 之 弹框重新打开 upload无效
    GPS坐标转百度坐标
  • 原文地址:https://www.cnblogs.com/smuxiaolei/p/7745512.html
Copyright © 2011-2022 走看看