java学习笔记之接口

什么是接口?

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用
另一种形式定义和表示,就是 接口 interface。

接口的实现

定义接口使用的关键字不是class,而是interface。
一个简单的接口就像这样:拥有全局变量和抽象方法。

interface Demo
{
	public static final int NUM = 4;
	public abstract void show1();
	public abstract void show2();
}

class DemoImpl implementsDemo
{
	public void show1()
	{}
	public void show2()
	{
	}
}

对于接口当中常见的成员,而且这些成员都有固定的修饰符。
1,全局常量: public static final

2,抽象方法。public abstract

由此得出结论:接口中的成员都是公共的权限.

类与类之间是继承关系,类与接口直接是实现关系。
/*
接口不可以实例化。

只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。
否则,这个子类就是一个抽象类。

接口的多实现

在java中不直接支持多继承,因为会出现调用的不确定性。
所以java将多继承机制进行改良,在java中变成了多实现。

一个类可以实现多个接口。
例如:

interface A
{
	public void show();
}

interface Z
{
	public int add(int a,int b);
}

class Test implements A,Z		//多实现
{
	public int add(int a,int b)
	{
		return a+b+3;	
	}
	public void show()
	{
	}
}

一个类在继承另一个类的同时,还可以实现多个接口。
例如:

class Q
{
	public void method()
	{}
}
abstract class Test2 extends Q implements A,Z
{
}
//接口的出现避免了单继承的局限性。

interface CC
{
	void show();
}
interface MM
{
	void method();
}

interface QQ extends  CC,MM	//接口与接口之间是继承关系,而且接口可以多继承。 
{
	void function();
}

class WW implements QQ
{		//覆盖3个方法。
	public void show(){}
	public void method(){}
	public void function(){}
}

接口的特点

  • 接口指明了一个类必须要做什么和不能做什么(相当于类的蓝图。)
  • 一个接口就是描述一种能力,所以接口的作用就是告诉类,你要实现我这种接口代表的功能,你就必须实现某些方法,我才能承认你确实拥有该接口代表的某种能力。
  • 如果一个类实现了一个接口中要求的所有的方法,然而没有提供方法体而仅仅只有方法标识,那么这个类一定是一个抽象类。
  • (必须记住:抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类)

接口的使用原则

  1. 接口必须有子类,子类依靠implements关键字可以同时实现多个接口;

  2. 接口的子类(如果不是抽象类)必须实现接口之中的全部抽象方法;

  3. 接口可以利用对象多态性,利用子类实现对象的实例化;

  4. 接口和普通的类一样,本身也有数据成员和方法,但数据成员一定要初始赋值,并且此值不能再有修改,定义的方法可以有抽象方法和默认方法,抽象方法abstact关键字可以省略,默认方法需要带上default关键字,默认方法可以带有方法体;

  5. 默认方法的调用和普通方法的调用一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值