标签:默认 return ati log 产生 成员 extend bst 运算符
接口(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());
}
}
标签:默认 return ati log 产生 成员 extend bst 运算符
原文地址:http://www.cnblogs.com/td15980891505/p/6232417.html