黑马程序员技术交流社区
标题:
接口的实现与父类继承
[打印本页]
作者:
jiahuiting
时间:
2013-9-23 09:15
标题:
接口的实现与父类继承
本帖最后由 jiahuiting 于 2013-9-23 15:27 编辑
接口的实现与父类继承学完后,晕晕的,感觉好像一样哦。哪位前辈能帮我理下思绪呢。我觉得他们都是在一个类的后面加上,目的都是去用他们里面的方法。
作者:
白磊
时间:
2013-9-23 09:32
直观的说吧,他们的功能是不一样的。
接口里面之定义了若干个空的方法,然后可以由若干个类去实现它,实现它的这些类都有了这个接口的这些方法,但是不同的类的具体实现却是不同的。
继承是为了复用父类的属性或者方法。
作者:
java初学者
时间:
2013-9-23 09:47
我记得接口是继承的完善,一个类只能继承一个父类,却可以实现多个接口,其他的我也晕
作者:
wrswuxiaoyan
时间:
2013-9-23 09:54
mplements一般是实现接口。
extends 是继承类。
接口一般是只有方法声明没有定义的,
那么java特别指出实现接口是有道理的,因为继承就有感觉是父类已经实现了方法,而接口恰恰是没有实现自己的方法,仅仅有声明,也就是一个方法头没有方法体。因此你可以理解成接口是子类实现其方法声明而不是继承其方法。
但是一般类的方法可以有方法体,那么叫继承比较合理。
引入包可以使用里面非接口的一切实现的类。那么是不是实现接口,这个你自己决定,如果想用到那么你不是实现,是不能调用这个接口的,因为接口就是个规范,是个没方法体的方法声明集合。我来举个例子吧:接口可以比作协议,比如我说 一个协议是“杀人”那么这个接口你可以用 砍刀去实现,至于怎么杀砍刀可以去实现,当然你也可以用抢来实现杀人接口,但是你不能用杀人接口去杀人,因为杀人接口只不过是个功能说明,是个协议,具体怎么干,还要看他的实现类。
那么一个包里面如果有接口,你可以不实现。这个不影响你使用其他类
作者:
xscn
时间:
2013-9-23 09:56
继承"基类"跟实现"接口"都能实现某些父类的功能,但有些接口能够完成的功能是只用基类无法实现的
接口用来实现功能的扩展,比如男学生女学生都继承父类学生类,继承父类的学习方法,但是男学生还会抽烟,不能在学生类里添加抽烟方法吧,那不是强迫女学生一起抽烟吗,接口这时候就充当了功能的扩展,开发中主要功能用继承,扩展功能用接口
作者:
咕咕猫
时间:
2013-9-23 10:12
一个类在继承的同时还可以实现多个接口,但是继承要注意不存在多继承因为会有安全隐患。在继承的同时还可以去实现接口这样增加了扩展性。接口的多实现弥补了不能多继承的缺陷。
class YunDongYuan//一个运动员的父类
{
public void yundong()//运动员都要运动
{
}
}
interface XueXi//一个学习的接口
{
public void xuejava();
}
class LanQiu extends YunDongYuan implements XueXi//一个篮球运动员属于运动员的子类但是他也可以具备学习的功能
{
public void yundong()
{
System.out.println("打篮球");
}
public void xuejava()
{
System.out.println("学Java");
}
}
class Demo
{
public static void main(String[]args)
{
LanQiu lq = new LanQiu();
lq.yundong();
lq.xuejava();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2