Java接口

来源:互联网 发布:origin最新版软件 编辑:程序博客网 时间:2024/04/28 03:07

Java接口 interface

一、修饰符 interface 接口名{}


1、接口定义的方法都是抽象方法;
2、接口定义的变量都是static final 静态常量;
3、接口可以多继承
     
   interface A{}    interface B{}    class C implements A,B{} //类可以实现多个接口,但是类只能继承一个父类
4、接口不能直接实例化,需要定义子类实例;

二、抽象类和接口的区别与相同点

相同点:1、都是分离方法的定义和实现(只定义方法,而实现通过子类去实现);
                2、都不能被实例化;
                3、都包含抽象方法(接口内的方法都是抽象方法,抽象类里的方法不一定是抽象方法);


区别:    1、抽象类提供部分方法实现,接口包含的方法全部为抽象方法,只有通过子类实现,自身任何方法都无法具体实现(接口不能为子类提供公共功能,即接口方法都为        抽象方法,没有具体的实现);子类的具体实现方法不同,所以不能提供公共功能);
                2类可以实现多个接口,但是类只能继承一个父类


三、抽象类和抽象方法如何选择

            行为模型应该总是通过接口而不是抽象类定义,所以通常是优先选用接口,尽量少用抽象类。
         选择抽象类的时候通常是如下情况:需要定义子类的行为,又要为子类提供通用的功能。


0 0