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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18201432758 中级黑马   /  2015-9-28 22:03  /  2477 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

14黑马币
抽象类和接口可以实力化对象吗?另外java支持多继承吗?

最佳答案

查看完整内容

当然不可以实例化对象,但是匿名内部类可以实例化它的子类对象,java是不支持多继承的,支持多实现,但是接口之间是可以多继承的。。。。。。。。。。。。。。。

5 个回复

倒序浏览
当然不可以实例化对象,但是匿名内部类可以实例化它的子类对象,java是不支持多继承的,支持多实现,但是接口之间是可以多继承的。。。。。。。。。。。。。。。
回复 使用道具 举报
不可以直接实例化。抽象类集成后重写抽象方法才能实例化,接口用implements实现后重写其方法成为一个类之后可以实例化。java支持单继承,支持多层继承
回复 使用道具 举报
miao1991 发表于 2015-9-28 22:03
当然不可以实例化对象,但是匿名内部类可以实例化它的子类对象,java是不支持多继承的,支持多实现,但是接 ...

接口不能继承类
回复 使用道具 举报

接口可以继承多个接口,类要实现接口
回复 使用道具 举报
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继承他们 也是抽象的 这个不就可以继承了吗? 由实现的例子就可以推出来 ,接口确实是可以多继承的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马