java.接口12

1.接口的定义

        接口指用interface关键字定义的特殊类,也成为接口类型,它描述系统对外提供的服务,但不包含具体实现。

    例如:飞机和小鸟都要飞,定义接口飞,只要飞机和小鸟类实现该接口,就表示他们的对象能提供“飞”服务;照相机、手机、平板计算机都有拍照功能,定义拍照接口,只要照相机、手机、平板计算机等类实现该接口,就表示它们的对象能提供“照相”服务。

接口格式:

[修饰符] interface 接口名 [extends父接口列表] {
    //(1)声明静态变量
    //(2)声明抽象方法
    //(3)定义默认方法
    //(4)定义静态方法
}

(1)声明静态常量的默认修饰符public final static,也可以声明为final static.

(2)声明抽象方法的默认修饰符public abstract

(3)定义默认方法的修饰符default,该方法是实体方法,在实现接口的子类中可以调用。

(4)定义静态方法的修饰符static,该方法是实体方法,用接口名直接调用。

/*接口*/
package com.Mai6;
public interface MyInterface {              //接口
    double PI = 3.14;                  //静态常量,默认修饰符public final static
    void show(String msg);             //抽象方法,默认修饰符public abstract
    public default void printX() {         //默认方法
        System.out.println("接口默认方法");
    }
    public static void printY() {      //静态方法
        System.out.println("接口静态方法");
    }
}
class MyClass implements MyInterface{       //子类实现接口
    void display() {
        System.out.println("子类方法");
    }

    @Override
    public void show(String msg) {            //覆写接口的抽象方法   
        System.out.println("覆写接口的抽象方法");
    }
}
class Demo30 {
    public static void main(String[] args) {
        MyClass mc  = new MyClass();
        mc.show("接口的抽象方法");     //子类对象调用实现的抽象方法
        mc.printX();                     //通过子类调用接口的默认方法
        MyInterface.printY();            //通过接口名调用接口的类方法
    }
}

子类实现接口时需要注意以下 4点:

(1)一个子类能实现多个接口,在implements后用逗号隔开多个接口名。

(2)如果实现接口的子类是实体类,则它必须实现该接口的所有抽象方法。

(3)如果事先接口的子类方法是抽象类,则它不实现该接口的所有的抽象方法。

(4)接口的抽象方法的默认访问权限控制符public,子类在覆写接口的抽象方法时,必须显式的使用public,因为子类覆写父类方法时,子类方法访问控制权限不能小于父类的访问控制权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值