java中的接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的接口相关的知识,希望对你有一定的参考价值。
接口(interface)可以想想为一个纯的抽象类。他允许创建者规定一个类的基本形式:方法名,自编量表,以及返回类型,但是不规定方法体。接口也包含数据成员,但是他们都默认为static和final。即接口只提供细节,不提供实现细节。接口中所有方法都是抽象的,这些抽象方法通过实现这一接口的不同类来完成,使用过程中,接口类变量可以表示任何实现该接口类的对象,这可以大限度的实现动态绑定,隐藏实现细节。
接口语法使用interface关键字声明,只声明类方法原型,不定义直接的方法类容,格式如下:
[接口修饰符] interface 接口名称 [<Type>] [extends 父类名]{
....//方法原型
}
值得注意的是,在接口声明中,java允许省略声明数据成员的final关键字,方法的public以及abstract关键字。如下:
interface Shape2D{ final double pi = 3.14; public abstract double area(); }
可以直接省略关键字:
interface Shape2D{ double pi = 3.14; double area(); }
接口实现,接口自然不能象一般类一样使用new运算符可以产生对象。利用接口构造类的过程叫做接口实现。实现接口需要implements关键字,语法如下:
[类修饰符] class 类名 implements 接口名称{
...//实现interface的方法
}
下面例子实现Shape2D。
import static java.lang.Math.*; interface Shape2D{ final double pi = 3.14; public abstract double area(); } class Circle implements Shape2D{ private double radius ; public Circle(double r){ radius = r; } public double area(){ return pi*radius*radius; } } class Rectangle implements Shape2D{ private double width; private double length; public Rectangle(double w,double l){ width = w; length = l; } public double area(){ return width*length; } } public class Test{ public static void main(String [] args){ Shape2D circle = new Circle(2.0); Shape2D rectangle = new Rectangle(3.0, 5.0); System.out.println(circle.area()); System.out.println(rectangle.area()); } }
以上是关于java中的接口的主要内容,如果未能解决你的问题,请参考以下文章