您的位置:首页 > 其它

接口的相关知识总结

2014-05-12 10:43 197 查看
我们对接口的初期理解,其实可以认为是一个特殊的抽象类。当抽象类中的方法都是抽象的时候,那么该类可以

通过接口的形式来进行表示。

定义接口时候用interface关键字,切里面内容必须全部抽象。

在接口定义时,接口的格式特点有哪些呢?

1.接口中常见定义:常量以及抽象方法。

2.接口中的成员都有固定修饰符,如果定义不完全,系统会默认自动补全修饰符。

interface Inter
{
public static final int NUM = 3;
public abstract void show();
}


在接口中,常见的常量修饰符为public static final,方法修饰符为public abstract。而且,在接口中的成员的修饰

符都是public权限,所以子类在进行实例化时,复写定义的权限必须也要大于等于public权限才可以,否则会报错。

类在进行接口的实例化时,所用的关键字为implements,格式为class B implements A,在叫法上有点区别,对

于接口的继承叫实现, 并不叫继承。也就是说类与类之间是继承关系,类与接口之间是实现关系。

而且接口是不可以创建对象的,因为有抽象方法。它是需要被子类实现,子类对接口中的抽象方法全都覆盖后,

子类才可以实例化。否则子类还是一个抽象类。

//定义一个接口的子类去对Inter接口中的方法进行覆盖。
class NewInter implements Inter
{

public void show()//覆盖接口中方法,原接口Inter没写,只是举个例子
{
System.out.println("show run");
}
}


接口可以被类多实现,也是对多继承不支持的转换形式,这就是多继承机制在Java语言中被改良后的结果。也就

是说一个类可以实现多个接口。

interface A
{
void show();
}
interface B
{
void show();
}
class C implements A,B
{
public void show()
{
System.out.println("show run");
}

}


在接口与接口之间,是可以继承的,并且支持多继承,举例如下:

interface A
{
void methodA();
}
interface B
{
void methodB();
}

interface C extends A,B
{
}


一个类在继承一个类的同时还可以实现多个接口。

class A
{
public void show(){}
}
interface B
{
public void show();
}
//接口出现避免了单继承的局限性。
class C extends A implements B
{
}


简单来总结下来就是:

1.类与类之间是继承,而且是单继承。

2.类与接口之间是实现,而且可以多实现。

3.接口与接口之间是继承关系,而且可以多继承。

个人理解的接口和抽象类的区别在于:

1.类是用来继承的,只能单继承。而接口则是用来实现的,并且可以多实现。

2.类中可以定义非抽象内容,直接提供给子类进行使用。但是接口中只能定义抽象方法,需要子类全部去实现。

通过对接口之间的相互关系以及对类和接口的关系之间的相互阐述和理解,让我更清楚的认识到了接口的特性

和特点,以后工作了有实例了我会继续更新拓展,多总结,努力,加油!~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: