java——接口

接口的概念

接口,在java中是一个抽象类,是抽象方法的集合,接口通常以interface来声明,接口里面不能包括普通的方法,里面通常是抽象的方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

接口的定义

[修饰符] interface 接口名称 [extends 其他的类名] {
        // 声明变量
        // 抽象方法
}

修饰符可以是public也可以省略,接口名应该要和类名相同,一个接口之间可以有多个父接口,但是接口只能继承接口,不能继承类。

由于接口定义的是一种规范,所以在接口里面不可以包含构造器和初始化块定义。接口里面只可以包含成员变量(静态),抽象方法,内部类。

定义一个接口

interface A{//定义一个接口

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

接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法.

接口的使用

因为接口里面存在抽象方法,所以接口对象不能直接使用关键字new进行实例化。接口的使用原则如下:
(1)接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口;

(2)接口的子类(如果不是抽象类),那么必须要覆写接口中的全部抽象方法; 

使用接口时,我们主要的用途是定义变量,调用接口中定义的变量,和被其他类发现。

package abc;

interface Fruit{
    public void eat();
}

class Apple implements Fruit{

    public void eat() {
        System.out.println("吃苹果。。。");

    }
}

public class Client {

    public static void main(String[] args) {
        Fruit f = new Apple();
        f.eat();

    }

}

接口的继承

一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。

interface interfaceA
{
    int PROP_A = 5;
    void testA();
}
interface interfaceB
{
    int PROP_B = 6;
    void testB();
}
interface interfaceC extends interfaceA , interfaceB
{
    int PROP_C = 7;
    void testC();
}

public class InterfaceExtendsTest
{
    public static void main(String[] args)
    {
        System.out.println(interface.PROP_A);
        System.out.println(interface.PROP_B);
        System.out.println(interface.PROP_C);
    }
}

上面这个例子,表示了interfacec继承了a和b,所以说c就获得了他们的常量,也就是说我们可以在mian()方法中直接调用c来访问a,b里面的常量。

接口与类的区别:

接口不能用于实例化对象。

接口没有构造方法。

接口中所有的方法必须是抽象方法。

接口不能包含成员变量,除了 static 和 final 变量。

接口不是被类继承了,而是要被类实现。

接口支持多继承。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值