Java接口详解

Java接口详解

1.什么是接口?
类封装了成员变量,成员方法和构造方法
接口是一种引用数据类型,接口内部主要封装了方法,构造方法(jdk7及以前),默认方法和静态方法(jdk8),私有方法(jdk9)
接口的定义与类的定义很相识,不过接口是使用interface来定义,他也会被编译成.class文件,但是一定要明确他和类是不同的,接口是另一种引用数据类型(引用数据类型:数组,类,接口。)
这就是一个接口

public interface Example {
//抽象方法
//静态方法(jdk8)
//默认方法(jdk8)
//私有方法(jdk9)
}

2.接口的使用
接口不可以被实例化,他需要使用另一个类来继承实现接口,该类必须实现接口中的全部方法,否则该类只能是一个抽象类或者一个接口,类实现接口使用implements关键字,类似于类继承中的extends

public interface Example {
}
class ExampleImp implements Example{
} 

3.接口中方法的定义
3.1抽象方法
使用abstr修饰没有方法体,权限修饰符public和abstr关键字可以省略
以下两种命名格式都可以

public interface Example {
    public  abstract  void one();
}
public interface Example {
     void one();
}

3.2默认方法
使用default修饰,供子类调用与重写,注意这里的default一定要写

public interface Example {
    default void one(){
    }
}

3.3 静态方法
通过接口直接调用,不能通过继承其的类或则类的对象进行调用

public interface Example {
    public static void one(){
    }
}

3.4私有方法
为什么使用私有方法?
增加代码的可复用性
供接口中的私有方法或则静态方法调用,继承其的类不可以调用
私有静态方法,比如一个静态方法或者吗,默认方法中有许多相同的代码,这个时候就可以把这些相同的代码抽取出来,封装到私有方法中

public interface Example {
   private static void one(){
    }
}

私有方法

public interface Example {
   private void one(){
    }
}

4接口的多继承
我们知道一个类只能继承一个父类,但是接口是可以被多继承的,即一个类可以实现多个接口,这叫做接口的多实现,而且一个类可以在继承一个类的同时实现多个接口

class 类名 extends 父类名]   implements 接口名1,接口名2...{ 
    // 重写接口中抽象方法【必须】 // 重写接口中默认方法【不重名时可选】
}

1.当一个类继承自多个接口时,而这些接口的抽象方法有重名时,只需要重写一次
2.当一个类继承自多个接口时,而这些接口的默认方法有重名时,必须要重写一次
注意
子接口重写默认方法时,default关键字可以保留。 子类重写默认方法时,default关键字不可以保留。
静态方法不需要重写,这是为什么呢
在这里插入图片描述因为静态方法都是通过接口名直接调用的
当一个类继承一个父类又继承自接口的优先级情况
当父类的成员方法与接口中的默认方法重名时,子类选择就近先执行父类的成员方法

interface Example {
   public default void shuchu(){
       System.out.println("这是接口");
    }
}
public class one {
    public void shuchu(){
        System.out.println("这是一个类");
    }
}
class three extends  one implements Example{
}
public class Main {
    public static void main(String[] args) {
        three three = new three();
        three.shuchu();
    }
}

结果

在这里插入图片描述注意事项
接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。

public  static  final int a=10;

接口中,没有构造方法,不能创建对象。
接口中,没有静态代码块。

以上就是接口的一些基础知识,如有错误还请各位批评指正
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值