【工作相关】笔试总结

arcgis js入门与提高(七)地理处理任务

  返回  

java中接口——interface

2021/8/21 11:29:13 浏览:

**定义:**接口就是抽象类的延伸,就口中所有的方法都没有方法体,我们可以把它看作纯粹的抽象类。接口中方法的修饰符必须是public和abstract其他的权限修饰符都会导致编译不通过,接口中的方法也可以不写权限修饰符,它会默认为public,接口中的所有属性的修饰符都默认是public static final。

接口的特点:
1.实现接口的类中必须提供接口中所有方法的具体实现内容。
2.多个类可以实现同一个接口
3.一个类可以实现多个无关的接口,也就实现了JAVA中的多继承
3.与继承关系类似,接口与实现类之间存在多态性
4.接口也可以继承另一个接口,使用extends关键字。
5.实现接口的类中必须提供接口中所有方法的具体实现内容。
6.与继承关系类似,接口与实现类之间存在多态性

创建一个接口: 使用关键字interface

public interface drawTest{  
	void draw();  
}

实现接口: 使用关键字implements

public class Temp implements drawTest{
/*
    在JAVA中,一个类无法继承自多个类,但是可以实现多个接口,使用关键字implements
                                        多个接口之间使用“,”隔开  多个接口之间,没有先后顺序
    这个类叫做实现类,这个类必须实现所有接口的所有方法
 */

	public void draw(){  //重写接口中的方法
	  // 省略方法体
	}
}

从上面代码中可以看出想要实现一个接口就必须重写接口中的所有方法,否则就会编译失败,或者引用接口的也是一个接口或者抽象类,这就跟JAVA中的抽象类很像。所以下面我们就来讲一下接口与抽象类的区别。

接口与抽象类:
相同点:
1. 都有抽象方法;
2. 被继承或者引用时所有抽象方法都必须被重写
3. 抽象类或者接口中的抽象方法都不能定义为私有的或者被final修饰

不同点:
1. 抽象类中的方法可以有方法体的实现,接口中不能有
2. 接口中的属性的修饰符默认为public static final
3. 抽象类中是有构造方法的,而接口中没有
4. 定义的关键字不同接口是interface,抽象类是abstract
5. 接口中的所有方法都默认是由public abstract修饰的。
6. 接口中的属性必须在定义的时候就进行初始化,且一旦定义就不能在进行修改

总结:
如果一个类中,既有抽象方法,又有非抽象方法,那么该类只能定义为抽象类,不能定义为接口
如果一个类中,只有抽象方法,没有非抽象方法,那么该类可以定义为接口,一般就定义为接口
所以也可以说,接口就是一个特殊的抽象类

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号