黑马程序员技术交流社区

标题: 小问题 [打印本页]

作者: 18201432758    时间: 2015-9-28 22:03
标题: 小问题
抽象类和接口可以实力化对象吗?另外java支持多继承吗?

作者: miao1991    时间: 2015-9-28 22:03
当然不可以实例化对象,但是匿名内部类可以实例化它的子类对象,java是不支持多继承的,支持多实现,但是接口之间是可以多继承的。。。。。。。。。。。。。。。
作者: guoqule    时间: 2015-9-28 22:10
不可以直接实例化。抽象类集成后重写抽象方法才能实例化,接口用implements实现后重写其方法成为一个类之后可以实例化。java支持单继承,支持多层继承
作者: liudongcan    时间: 2015-10-1 18:53
miao1991 发表于 2015-9-28 22:03
当然不可以实例化对象,但是匿名内部类可以实例化它的子类对象,java是不支持多继承的,支持多实现,但是接 ...

接口不能继承类
作者: miao1991    时间: 2015-10-3 22:11
liudongcan 发表于 2015-10-1 18:53
接口不能继承类

接口可以继承多个接口,类要实现接口
作者: LLLLL    时间: 2015-10-9 20:36
1,java中只能利用接口达到多实现而已,跟多继承相仿
2,java中唯一可以实现多继承的 就是接口与接口之间了。
先说继承 比如
class fu1
{
void show(){}
}
class fu2
{
void show(){}
}
class zi extends fu1,fu2
{
void show(){}
}
这时候 创建zi引用 调用show方法 java 虚拟机 就不知道该调用父类的哪个show方法了
同理 在接口中
class fu1
{
void show();
}
class fu2
{
void show();
}
class zi extends fu1,fu2
{
void show(){}
}
接口的fu1 和 f2 的show方法都是abstract的 抽象的 是没有方法体的
所以只有子类的show方法是有方法体的 所以接口 可以多实现 也就是变量的多继承

所以也可以推出 接口与接口之间也是可以多继承的 就算接口a 的父类接口 b和c都有同一个方法show()
但是他们都是抽象方法 a继承他们 也是抽象的 这个不就可以继承了吗? 由实现的例子就可以推出来 ,接口确实是可以多继承的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2