您的位置:首页 > 编程语言 > Java开发

Java接口特征与细节

2016-04-02 23:50 375 查看

接口

书面定义:

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

在java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行改良,在java中变成了多实现。

当一个抽象类里面全部是抽象方法时,且与继承类之间实现功能体现更强于所属关系,就可以定义为接口interface,更趋近于体现功能的集合特点

接口的特征:

对于接口当中常见的成员:而且这些成员都有固定的修饰符。

1.全局常量: public static final

2.抽象方法:public abstract

所以接口中的成员都是公共的权限.

3.只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。

否则,这个子类就是一个抽象类。接口是不能直接通过new来实例化的,没有具体实现的接口实例化也没有意义。

接口与普通类:

类与类之间是继承的关系

类与接口之间是实现关系,而且类的单继承可以有多实现(同时实现多个接口)

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

(因为接口的方法并没有方法体,即便继承也不用实现方法)

接口在OOP的特点体现:

1.是对外暴露的规则

2.是对程序的功能扩展

3.接口的出现降低了耦合性

关于接口与抽象类的区别请看

接口与抽象类的区别详解

class Demo
{
void show()
{
System.out.println("父类方法");
}
}
interface Demo1
{
public static final int NUM = 1;
public abstract void method();
}
interface Demo2
{
double Circle_DIRECT = 2.45; //系统自动加上public static final
void  method();//系统自动加上public abstract
int add(int a, int b);
}
class DemoImpl extends Demo implements Demo1,Demo2
{
public void method()
{
System.out.println("实现接口1,接口2");
//实现具体方法,同时了覆盖两个接口中的方法
}
public int add(int a,int b)
{
return a+b;
}//必须覆盖所有实现接口的抽象方法,否则还是要定义为接口
}
public class  InterfaceDemo
{
public static void main(String[] args)
{
DemoImpl  d = new DemoImpl();
d.show();
d.method();
System.out.println(d.add(1,2));
System.out.println(d.NUM);
System.out.println(Demo1.NUM);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息