A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

xdy0618

中级黑马

  • 黑马币:-89

  • 帖子:65

  • 精华:0

© xdy0618 中级黑马   /  2016-1-28 14:10  /  607 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学完直接懵比了

5 个回复

倒序浏览
就是没有名字的内部类,该类对象只使用一次时就可以定义,前提:必须实现接口或者继承一个类
BufferReader br = new BufferReader(new InputStreamReader(。。。。))
new InputStreamReader(。。。。)可以看做是匿名的内部类,其实学到这里,你以前都用过很多次了,只是你不注意罢了
回复 使用道具 举报
如楼上所说匿名内部类也就是没有名字的内部类,正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写,但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
回复 使用道具 举报
匿名内部类就是直接用父类或接口一次性的创建的子类对象
回复 使用道具 举报
这点我也蒙,不过用的也不算特别多
回复 使用道具 举报
interface A {  public void fun1(); }class B {  int i = 10; public void get(A a)// 声明了一个方法get,接受一个类型为A的参数  {   a.fun1();  } public void test()  {  this.get(new A()//这里就是匿名的内部类,实现了A这个接口的类,只是是匿名的,编译的时候会自动生成一个类名为B$1的类,这一点你可以用cmd手动编译一下,就能看见B$1.class这样一个文件,相当于你有一个B$1的类实现了A这个接口,然后作为get的参数传了进去   {    public void fun1()    {     System.out.println(i);    }   });  } }class TestNonameDemo {  public static void main(String args[])  {   B b = new B();   b.test();  } }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马