什么是接口?

接口

需求:需要飞到北京出差

飞机、鸟和超人不能归于一个类属,但是具备有相同的特性:会飞的。所以引入了一个新概念叫做接

口,可以用于规范实现接口的类中必须实现接口中抽象方法。接口可以理解为一种契约

使用关键字interface定义接口

 public interface 会飞的 {

public void 起飞();

public void 巡航飞行();

public void 降落(); }

接口不能直接使用,必须有对应的实现类

 public class 飞机类 implements 会飞的 { //共性是通过实现接口来表示的

private String name; //名称,这是类属的属性,这里可以定义字节类的成员,和接口无关

//如果当前类不是抽象类,则必须实现接口中的所有抽象方法

@Override

public void 起飞() {

System.out.println("使劲的跑,一抬头就飞起来了");

}

@Override

public void 巡航飞行() {

 }

System.out.println("使劲的烧油...");

}

@Override

public void 降落() {

System.out.println("我对准...");

}

通过接口定义变量,使用具体类的实例,进行调用

会飞的 obj = new 飞机类();

obj.起飞();

obj.巡航飞行();

obj.降落();

引入接口的目的在于隔离实现

public void 出差(飞机 obj){}

这种写法当前类和飞机是耦合的,如果需要坐超人出差,则必须修改源代码

public void 出差(会飞的 obj){}

当前类只是和接口耦合,任何实现了接口的对象都可以作为参数进行传入

使用接口而不是使用具体的类,则可以实现在实现接口的多个具体实现类之间进行更换,例如定义出超人类

什么是接口

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

变成了多实现。一个类可以实现多个接口,一个接口可以继承多个接口

 interface IA{}

 interface IB{}

 interface IC extends IA,IB{} 正确的,其中IC中的方法等于IA+IB

 class A implements IA,IB{}

 IA a=new A();

 IB b=new A();

接口是一种特殊的抽象类,接口只能被abstract或者public修饰

没有构造器方法

 public interface IA{

public IA(){} //语法报错

}

没有属性,只能定义常量

 public class Test {

public static void main(String[] args) {

System.out.println(IA.name); //常量可以直接使用

System.out.println(B.name); //实现类也可以直接访问常量

}

 }

 interface IA {

String name = "yanjun";// 接口中只能定义常量,不能定义属性,默认限定词

public static final,自定义限定词不能冲突

 }

class B implements IA{}

可以包含抽象方法,也可以没有抽象方法

 interface IA1 {

 }// 这个接口中没有包含任何抽象方法

 class A1Impl implements IA1 {

}

接口中的方法只能被publicdefaultabstractstatic修饰

一般情况下接口中只定义抽象方法

定义的方法默认为公开的抽象方法

 interface IA2{

int ee();//默认public abstract int ee();

public void pp();//方法的限定词可以是public, abstract, default,

static,前面的public可以省略,如果不写默认public

public abstract void cc();//这里abstract可以省略,默认就是abstract

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值