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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Rancho_Gump 高级黑马   /  2012-12-7 18:39  /  1503 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2012-12-8 13:33 编辑

在接口A中定义有接口B,那么对A进行实现时,是不是B也必须被实现呢?

评分

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

查看全部评分

6 个回复

倒序浏览
实现接口就是想创建实例对象和添加功能。如果只为创建实例对象的话,要创建什么接口的实例对象就实现什么接口。

class InterfaceTest
{
        public static void main(String[] args)
        {
                new Test2().show();
        }
}

interface Test1
{
        public abstract void show();

        interface Test2
        {
                public abstract void function();
        }
}

class Test2 implements Test1
{

        public void show()
        {
                System.out.println("不用实现内部类也可以创建实例对象");
        }
}

这种问题,以后要自己敲代码,问虚拟机行不行。这才是学java的王道啊。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
  1. public class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 new shixian().show();
  6.                
  7.         }
  8. }

  9. class shixian implements A
  10. {
  11.         public void show()
  12.         {
  13.                 System.out.println("A");
  14.         }
  15. }
  16. public interface A
  17. {
  18.         public interface B{}
  19.        
  20. }
复制代码
经测试,接口B并不用被实现,编译运行都不报错
回复 使用道具 举报
假如接口A中还有接口C
  1. public interface A
  2. {
  3.         public interface B{}
  4.         public interface C{}
  5.        
  6. }
  7. public class Test  
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 new shixian().show();
  12.                 new shixian2().show();
  13.         }
  14.        
  15. }

  16. class shixian implements A
  17. {
  18.         public interface B
  19.         {
  20.                 public void show();
  21.         }
  22.        
  23.         public void show()
  24.         {
  25.                 System.out.println("A");
  26.         }
  27. }

  28. class shixian2 implements shixian.B
  29. {

  30.         public void show()
  31.         {
  32.                 System.out.println("B");
  33.         }
  34.        
  35. }
复制代码
接口C不实现也没问题

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
问题已经解决

点评

麻烦点编辑,价格帖子改成已解决  发表于 2012-12-8 13:28
回复 使用道具 举报
嗯  让版主费心   {:soso_e112:}
回复 使用道具 举报
马良 中级黑马 2012-12-8 14:07:21
7#
楼主,你可以去回忆一下Map集合中的嵌套接口Map.Entry啊!!你经常使用Map,但是你去实现接口Map.Entry了吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马