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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张海洋 中级黑马   /  2013-3-23 09:09  /  1634 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

4 个回复

倒序浏览
本帖最后由 姓名长度不符 于 2013-3-23 09:17 编辑

接口可以认为是个特殊的抽象类,接口之间可以多重继承,(由于是类当然能继承其他类,不过没太大意义罢了)接口可以被多实现,
由于有抽象方法,接口是不能被创建对象的
lz看视频的时候适当做些笔记,实在不懂可以多看几遍加深印象

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
1.接口可以继承接口..但是要使用extends~而不是用implements如:interface a{}interface b extends a{}
2.抽象类可以实现接口..比如java.util中的AbstractCollection类就是实现的Collection接口
3.抽象类可以继承实体类下面这段执行无误的代码说明的所有的问题:interface MyInterface {}interface AnotherInterface extends MyInterface {}class EntityClass {}abstract class AbstractClass extends EntityClass implements MyInterface {}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
接口说白了就是一个特殊的类,java是不允许类似C++中的多重继承,即一个子类有两个父类,但在实际情况中会遇到一些问题,所以接口也可以看做是多重继承的一种变相实现~~~
回复 使用道具 举报
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?




接口可以实现其他接口,一个接口可以实现多个接口,抽象类也可以实现接口,但抽象类不能继承实体类。

其实接口,抽象类,一般类,他们三个之间的关系,可以看看它们里面所包含的方法就清楚了,接口中只能有抽象方法,抽象类中,可以有抽象方法,也可以有一般方法,
但是,如果一个类中有了抽象的方法,那么这个类就必须被申明了抽象类。

比如下面这个普通的类。

class Person
{
        public void method()
      {
            System.out.println(“hello world ”);
      }

}

在类中加上一个抽象方法,这个类就变成了抽象类

abstract  class Person
{
      //普通方法
        public void method()
      {
            System.out.println(“hello world ”);
      }
      abstract  method2();//抽象方法
}

再把里面的普通方法去掉,只剩下抽象方法了。就变成了接口

abstract  Person
{
         abstract  method2();//抽象方法

}

这个时候你可能奇怪,接口不能这样写的呀,好像没有用abstract,确实是这样,因为这个特殊抽象类中只剩下了抽象方法。
就证明这里面全部是抽象的方法,如果抽象的方法很多的话,那么所有的抽象方法都要用abstract修饰,为了省事,所以就干脆就把
这个abstract给省略了,反正里面也是抽象的。

这个时候就变成了这样,变成了接口。


Person
{
         method2();//抽象方法

}  


这样说你应该能明白了吧,



评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马