黑马程序员技术交流社区

标题: 这个还是匿名内部类吗 [打印本页]

作者: asinzuo    时间: 2015-7-12 13:27
标题: 这个还是匿名内部类吗
本帖最后由 asinzuo 于 2015-7-12 13:40 编辑

视频中的练习
  1. interface Inter
  2. {
  3.         void show(int a,int b);
  4.         void func();
  5. }
  6. class CopyOfTest1
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 //补足代码;调用两个函数,要求用匿名内部类

  11.         }
  12. }
复制代码



  1. interface Inter
  2. {
  3.         void show(int a,int b);
  4.         void func();
  5. }
  6. class CopyOfTest1
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 //补足代码;调用两个函数,要求用匿名内部类
  11.                
  12. Inter in=new Inter(){
  13.                         public void show(int a,int b){
  14.                                 
  15.                         }
  16.                         public void func(){
  17.                                 
  18.                         }
  19.                 };
  20.                 in.show(1, 2);
  21.                 in.func();
  22.         }
  23. }
复制代码

Inter in=new Inter()这样给内部类取名了,还是匿名内部类吗?
还有,代码不是要么以{ }结束,要么以 ; 结束,为啥这里要以  } ;结束?
  1. Inter in=new Inter(){
  2.                         public void show(int a,int b){
  3.                         }
  4.                         public void func(){
  5.                         }
  6.                 };
复制代码








作者: asinzuo    时间: 2015-8-17 10:30
虽然这里起了名字,但是是子类对象的名字,并不是子类,类的名字。

它的子类对象也不能向下转型
作者: sven556677    时间: 2015-8-17 10:49
要是写成class zi implement Inter{//重写的方法代码}
Inter in=new zi();//句子1
这样的话,有了zi这个名字,就不是“匿名”了。
至于那个大括号后面加的分号,就相当于“句子1”后面的分号。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2