JAVA关键字——interface的使用(一)

JAVA关键字——interface的使用(一)

1、接口的定义:用interface修饰的就是接口

public class Interface7 {
	public static void main(String[] args) {
		Plane plane = new Plane() ;
		plane.test();
	}
}
//定义一个fly接口:
interface fly{
	//全局常量:
	public static final int MAX_SPEED = 7900;
	public static final int MIN_SPEED = 1;
	//抽象方法:
	public abstract void test();
}
//定义一个eat接口:
interface eat{}
//接口的继承可以多继承
interface act extends fly,eat{}
//类实现接口使用implements
class Plane implements fly{
	public void test() {
		System.out.println("我的速度为"+MAX_SPEED);
	}
}

2、Java中,接口和类是两个并列的结构;

3、如何定义接口:定义接口中的成员

3.1 JDK7及以前:只能定义全局常量和抽象方法;
>全局常量:public static final的,可以省略不写;
>抽象方法:public abstract的,可以省略不写;

//定义一个fly接口:
interface fly{
	//全局常量:
	public static final int MAX_SPEED = 7900;
	public static final int MIN_SPEED = 1;
	//等价于
	/*
	int MAX_SPEED = 7900;
	int MIN_SPEED = 1;
	*/
	//抽象方法:
	public abstract void test();
	//等价于
	// void test();
}

3.2 JDK8及以后:除了定义全局常量和抽象方法之外,还可以定义静态方法,默认方法(使用好像较少,不常用);

4、接口不能定义构造器,也就是说接口不可以实例化。其实接口中定义的成员就是一些类的对象都有的属性或方法,把它们抽象出来然后放在一个接口中;

5、Java开发中,接口通过让类去实现(implements)的方式来使用;

class Plane implements fly{
	public void test() {
		System.out.println("我的速度为"+MAX_SPEED);
	}
}

如果实现类中有实现接口中所有的抽象方法,则这个类就可以实例化;

//因为Plane实现了接口所有的抽象方法(test()),所以可以实例化
Plane plane = new Plane() ;

如果实现类中没有完全实现所有的抽象方法,则这个类还得是抽象类。

abstract class Plane2 implements fly{
//没有实现抽象方法,那这个类还得是抽象类
}

6、Java类可以实现多个接口 ,弥补了Java单继承性的局限性;

格式:class AA extends BB implements CC,DD,EE

7、接口和接口之间可以多继承;

interface act extends fly,eat{}

8、接口的具体使用体现了多态性:详见interface的使用(二)

9、接口,实际上可以看成是一种规范,我们实现了这个接口,那就得按这个接口的要求来实现类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值