java 接口的使用

接口是抽象的,不能创建变实例,可以创建变量,使用规则:

(1)接口必须要有子类,但此时一个子类可以使用implements关键字实现多个接口; 

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

(3)接口的对象可以利用子类对象的向上转型进行实例化。

(4)一个类可以实现多个接口但是只能继承一个类(不管抽象还是不抽象的类都只能是继承一个爸爸)。

(5)里面的组成只有抽象方法和全局常量。所以很多时候为了书写简单,可以不用写public abstract 或者public static final。接口中的访问权限只有一种:public

(6)接口中默认是public修饰,若子类中没用public修饰,则访问权限变严格了,给子类分配的是更低的访问权限。所以,在定义接口的时候强烈建议在抽象方法前加上public ,子类也加上:

下面是不规范的:

interface A{

String MSG = "hello";

void print();

}

class X implements A

{

void print()

{

System.out.println("接口A的抽象方法print()");

}

}

public class TestDemo

{

public static void main(String[] args)

{

A a = new X();

a.print();

}

}

下面是规范的写法

interface A{ String MSG = "hello";

public void print();

}

class X implements A

{

public void print()

     {

System.out.println("接口A的抽象方法print()");

}}

对于子类而言,除了实现接口外,还可以继承抽象类。若既要继承抽象类,同时还要实现接口的话,使用一下语法格式:

class 子类 [extends 父类] [implemetns 接口1,接口2,...] {}


在接口中如果使用了static去定义一个内接口,它表示一个外部接口:

interface A{
    public void funA();

    static interface B{//使用了static,是一个外部接口
        public void funB();
    }
}
class X implements A.B{

    @Override
    public void funB() {

    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值