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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heheka123 中级黑马   /  2014-4-10 14:08  /  1095 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. abstract class Test {
  2.         abstract void show();
  3. }

  4. class Inter
  5. {
  6.         public static void inter()
  7.         {
  8.                 new Test()
  9.                 {
  10.                         void show()
  11.                         {
  12.                                 System.out.println("打印显示!");
  13.                         }
  14.                 }.show();                  
  15.         }
  16. }
  17. class InnerClassTest
  18. {
  19.         public  static void main(String[] args)
  20.         {
  21.                 Inter.inter();

  22.         }
  23. }

  24. 提示的错误是:abstract class Test {
  25.         abstract void show();
  26. }

  27. class Inter
  28. {
  29.         public static void inter()
  30.         {
  31.                 new Test()
  32.                 {
  33.                         void show()
  34.                         {
  35.                                 System.out.println("打印显示!");
  36.                         }
  37.                 }.show();
  38.           
  39.         }
  40. }
  41. class InnerClassTest
  42. {
  43.         public  static void main(String[] args)
  44.         {
  45.                 Inter.inter();
  46.         }
  47. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
编译没有问题啊!

但是你下面的两个类和上面的两个类不能同时存在,

编译时要注释其中的两个,否则出出现 类重复的错误!

内部类的格式也是对的,匿名内部类的中的抽象方法也都覆盖了,

你再试一次吧!

应该是没有问题的!

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
第一点:abstract class Test {
        abstract void show();
}这是一个抽象类说明他不能被实例化
第二点: new Test()
                {
                        void show()
                        {
                                System.out.println("打印显示!");
                        }
                }.show();//这段代码中你却给Test实例化了,你说能对么

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
ilvsoft 发表于 2014-4-10 16:20
第一点:abstract class Test {
        abstract void show();
}这是一个抽象类说明他不能被实例化

只要是抽象类他就不能被实例化,你吧这点记住了,你这段代码也就不这么写了,其实你这种学习方法跟我一样,我喜欢听完课按照自己的想法吧几个知识点穿起来验证下
回复 使用道具 举报
在我的印象中 抽象类是在子类中实现他的抽象方法 而不是在他的对象里面实现 因为abstract 关键字标示的方法是不能被实例化的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马