java学习15-面向对象(interface接口)

来源:互联网 发布:日语能自学吗 知乎 编辑:程序博客网 时间:2024/05/07 11:31

接口

——一种特殊的抽象类,关键字interface

interface 接口名{

         //接口的成员,都有固定修饰符

         //一般常有:

         //1.常量,全局常量有固有的修饰符 publicstatic final

         //2.抽象方法固定修饰符 publicabstract

}

 

接口定义特点:

1,接口用interface来定义。

2,接口中的成员都有固定的修饰符。

3,接口不能被实例化,。

4,接口必须由其子类覆盖了所有的抽象方法后,该子类才可以实例化。 否则,该子类还是一个抽象类。

5,接口中的成员都是public修饰的。


简单例子:

//定义接口package com.dragon.src;public interface InterfaceDemo {public final static int num = 3;public abstract void show();//抽象方法}//实现接口package com.dragon.src;public class InterImpl implements InterfaceDemo{//覆盖方法@Overridepublic void show() {// TODO Auto-generated method stubSystem.out.println("接口实现类,打印数字"+num);//使用接口里的num}}//主函数package com.dragon.src;public class InterDemo {/** * @param args */public static void main(String[] args) {InterImpl impl = new InterImpl();impl.show();}}

注意:

类与类之间是继承关系,类与接口之间是实现关系。


接口的出现好处:

         接口可以被多实现。这就是多继承机制在java语言被改良后的结果。一个类可以实现多个接口。

例子:

/***类与类之间是继承,而且是单继承。*类与接口之间是实现,而且可以多实现。*接口与接口之间是继承关系,而且可以多继承。*/interface DemoA{void showA();}interface DemoB //extends DemoA{void showB();}interface DemoC extends DemoB,DemoA{void showC();}class DemoD implements DemoC{public void showA(){}public void showB(){}public void showC(){}}


接口的优点:

1)接口的出现降低了耦合性。

2)接口的出现提高了扩展性。

3)接口就是对外暴露的规则。

 


接口和抽象类的区别:

1

类是用来继承的,只能单继承。

接口是用来实现的,可以多实现。

2

类中可以定义非抽象内容,直接提供给子类使用。

接口中只能定义抽象方法,需要子类全部实现。

3

类存在着继承关系,是is a关系。

接口的实现关系,是 like a关系。

共同点:

它们都是不断抽取而来的。共性的抽象

 

原创粉丝点击