JAVA中double area,Java中的接口

一.接口的定义

Java中的接口是纯抽象类,可以规定方法的原型,即方法名、参数列表和返回类型,但是不需要定义方法的主体。

Java中的接口是可以实现多继承的,其基本语法形式为:

[接口修饰符] interface 接口名称 [extends 父接口名]{

//方法的原型声明或静态变量

}

其中:

1.接口中的数据成员必须要有初值且不能再更改,即定义为final类型,但可以省略final关键字。

2.接口中的方法 必须是抽象方法,不允许包含方发的实现,可以省略public和abstract关键字。

二.实现单接口

接口的实现需要使用implements关键字,其基本语法如下:

public class 类名称 implements 接口名称 {

//在类体中实现接口的方法

}

其中:接口的实现类必须实现接口中所定义的所有方法,且来自接口的方法必须声明为public。

//声明一个接口Shape2D,包括PI和计算面积的方法原型

interface Shape2D{

final double pi = 3.14;

public abstract double area();//也可写作double area();

}

class Circle implements Shape2D{

double radius;

public Circle(double r){

radius = r;

}

public double area(){

return (pi*radius*radius);

}

}

class Rectangle implements Shape2D{

int width,height;

public Rectangle(int w,int h){

width = w;

height = h;

}

public double area(){

return(width*height);

}

}

public class InterfaceTester{

public static void main(String[] args){

Rectangle rect = new Rectangle(5,6);

System.out.println("Area of rect = " + rect.area());

Circle cir = new Circle(2.0);

System.out.println("Area of cir = " + cir.area());

Shape2D var1,var2;//声明接口类型的变量,并用它来访问对象

var1 = new Rectangle(5,6);

System.out.println("Area of var1 = " + var1.area());

var2 = new Circle(2.0);

System.out.println("Area of var2 = " + var2.area());

}

}

//运行结果

Area of rect = 30.0

Area of cir = 12.56

Area of var1 = 30.0

Area of var2 = 12.56

三.实现多接口的继承

一个类可以实现多个接口,通过这种机制可以实现对设计的多重继承。其基本语法为:

[类修饰符] class 类名称 implements 接口1,接口2,...{

//实现接口方法

}

interface Color{

void setColor(String str);

}

class Circle implements Shape2D,Color{

double radius;

String color;

public Circle(double r){

radius = r;

}

public double area(){

return (pi*radius*radius);

}

public void setColor(String str){

color = str;

System.out.println("color=" + color);

}

}

public class MultiInterfaceTester{

public static void main(String[] args){

Circle cir;

cir = new Circle(2.0);

cir.setColor("blue");

System.out.println("Area=" + cir.area());

}

}

//输出结果

color=blue

Area=12.56

四.接口的扩展

若一个接口继承了父接口,在类中实现接口方法时需要同时实现父接口中定义的方法。接口的继承是多继承,其基本语法为:

interface 子接口的名称 extends 超接口的名称1,超接口的名称2...{

//定义方法名称及静态变量

}

interface Shape{

double pi = 3.14;

void setColor(String str);

}

interface Shape2D extends Shape{

double area();

}

class Circle implements Shape2D{

double radius;

String color;

public Circle(double r){

radius = r;

}

public double area(){

return (pi*radius*radius);

}

public void setColor(String str){

color = str;

System.out.println("color=" + color);

}

}

public class ExtendsInterfaceTester{

public static void main(String[] args){

Circle cir;

cir = new Circle(2.0);

cir.setColor("blue");

System.out.println("Area=" + cir.area());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值