java接口

一、基本概念

接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。

范例:定义一个接口

interface A{//定义一个接口

public static final String MSG = "hello";//全局常量
public abstract void print();//抽象方法

}

二、接口的使用

1、由于接口里面存在抽象方法,所以接口对象不能直接使用关键字new进行实例化。接口的使用原则如下:
(1)接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口;
(2)接口的子类(如果不是抽象类),那么必须要覆写接口中的全部抽象方法;
(3)接口的对象可以利用子类对象的向上转型进行实例化。

范例:

package com.wz.interfacedemo;

interface A{//定义一个接口A

public static final String MSG = "hello";//全局常量

public abstract void print();//抽象方法

}

interface B{//定义一个接口B

public abstract void get();

}

class X implements A,B{//X类实现了A和B两个接口

@Override
public void print() {
    System.out.println("接口A的抽象方法print()");
}

@Override
public void get() {
    System.out.println("接口B的抽象方法get()");
}

}

public class TestDemo {

public static void main(String[] args){

    X x = new X();//实例化子类对象
    A a = x;//向上转型
    B b = x;//向上转型

    a.print();
    b.get();
}

}
运行结果:

接口A的抽象方法print()
接口B的抽象方法get()

2、在Java中,一个抽象类只能继承一个抽象类,但一个接口却可以使用extends关键字同时继承多个接口(但接口不能继承抽象类)。

范例:

interface A{
public void funA();
}

interface B{
public void funB();
}

//C接口同时继承了A和B两个接口
interface C extends A,B{//使用的是extends
public void funC();
}

class X implements C{

@Override
public void funA() {


}

@Override
public void funB() {


}

@Override
public void funC() {


}

}

由此可见,从继承关系来说接口的限制比抽象类少:
(1)一个抽象类只能继承一个抽象父类,而接口可以继承多个接口;
(2)一个子类只能继承一个抽象类,却可以实现多个接口(在Java中,接口的主要功能是解决单继承局限问题)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值