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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© asinzuo 中级黑马   /  2015-7-12 13:27  /  281 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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.                 };
复制代码







2 个回复

倒序浏览
asinzuo 来自手机 中级黑马 2015-8-17 10:30:29
沙发
虽然这里起了名字,但是是子类对象的名字,并不是子类,类的名字。

它的子类对象也不能向下转型
回复 使用道具 举报
要是写成class zi implement Inter{//重写的方法代码}
Inter in=new zi();//句子1
这样的话,有了zi这个名字,就不是“匿名”了。
至于那个大括号后面加的分号,就相当于“句子1”后面的分号。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马