欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

“好事不留名”的匿名内部类 内部类匿名内部类java 

程序员文章站 2022-07-12 14:46:24
...
//匿名内部类,即没有名字,做好事不留名就是匿名内部类了,它和局部内部类有点类似,两个似兄弟般,但是还是有所不同的
//匿名内部类的“好事不留名”,通常是为了帮助别人,帮完就走了,不会再和同一个人在同一个时间同一个地点帮他同一件事!
//亲,独一无二啊….好银啊!O(∩_∩)O~
package com.cbh.nonname_class;

java编程网:http://www.haohaoblog.com

public class Noname_class
{
    int nc=12;
    Noname_class()
    {
        System.out.println("我是匿名内部类的父类构造方法");
    }
    Noname_class(int i)
    {
        System.out.println("我是Noname_class的有参构造,这里的i="+i);
    }
    void non()
    {
        System.out.println("我是Noname_class的一个方法");
    }

    public static void main(String[] args)
    {
        final int i=9;//匿名类的类体重用到的main中成员变量必须是final,即常量
        Noname_class nc=new Noname_class(i)
        {
            {System.out.println("我是匿名内部类的类似构造方法的实体");}
            //匿名内部类没有构造方法,但是它有类似构造方法的实体在执行父类构造后会执行此段
          

void non()
            {
                System.out.println
                ("我是内部类的方法,我没有重载和覆盖Noname_class中的non方法,我是新的,我需要输出的main中成员变量必须是常量"+i);
            }
        };//匿名内部类其实是一种变相的继承,继承了Noname_class的一个有大括号中内容的子类
       

Thread t=new Thread(new Runnable()
        {
            public void run()
            {
                System.out.println("匿名内部类还可以实现接口");
            }
        });//匿名类可以用于实现接口,其实说到底还是继承和实现的功能
    }

}
//局部内部类的名字在方法外是不可见的,因为它的作用域是方法体内,同理,匿名类的作用域



也是在大括号内,显然滴,同志们应该可以看出来,局部内部类可以有多个构造方法的重载,而



匿名类只有一个,因为写完了这此之后就再也见不到了,独一无二的匿名类,即使有另一个也只能说是纯属



雷同,但本质是不一样的,因为此一时彼一时啊!就像有些事情一样,一旦出现了,不去珍惜,等到知道它



是独一无二的时候,你已经错过了,不可能在遇到了,即使很像,那也只是“很像”而已….