黑马程序员技术交流社区
标题:
接口?
[打印本页]
作者:
张海洋
时间:
2013-3-23 09:09
标题:
接口?
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
作者:
姓名长度不符
时间:
2013-3-23 09:15
本帖最后由 姓名长度不符 于 2013-3-23 09:17 编辑
接口可以认为是个特殊的抽象类,接口之间可以多重继承,(由于是类当然能继承其他类,不过没太大意义罢了)接口可以被多实现,
由于有抽象方法,接口是不能被创建对象的
lz看视频的时候适当做些笔记,实在不懂可以多看几遍加深印象
作者:
谭辉
时间:
2013-3-23 09:32
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 {}
作者:
张文星
时间:
2013-3-23 10:03
接口说白了就是一个特殊的类,java是不允许类似C++中的多重继承,即一个子类有两个父类,但在实际情况中会遇到一些问题,所以接口也可以看做是多重继承的一种变相实现~~~
作者:
唐永康
时间:
2013-3-23 10:28
接口是否可继承接口? 抽象类是否可实现(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();//抽象方法
}
这样说你应该能明白了吧,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2