目录
前言
java是面向对象的,而类与类之间存在继承,但父类里面总是存在着一些不需要具体的实现的方法,从而java推出了抽象方法,而抽象方法更抽象的表现就是接口了,接下来让我们一起走进java接口的世界!!!
一、接口是什么?
接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现。
二、接口需要注意的地方
使用java接口需要注意的:
1.使用interface关键字来修饰 ;
2.接口当中的方法不能有具体的实现 要实现一定得加default(默认);
3.接口当中可以有static的方法 ;
4.里面所有的方法都是public的 ;
5.抽象方法默认是public abstract的;
6.接口是不可以被new来实例化的 ;
7.类和接口之间的关系是通过关键字implement来实现的 ;
8.当一个类实现了接口类就必须重写接口当中的抽象方法 ;
9.接口当中的成员变量默认是public static final修饰的 ;
10.当一个类实现一个接口之后重写这个方法的时候 方法前得加public ;
11.一个类可以通过extends来继承普通类或抽象类但只能继承一个类,同时也可以通过implements来实现多个接口接口之间用逗号隔开 ;
12.接口和接口之间可以用extends来操作他们之间的关系 意为:拓展 一个接口通过extends来拓展自己的功能,此时当一个类实现 拓展后的接口时,不仅仅是拓展前的抽象方法,还要写另一个接口的抽象方法;
三、接口的具体实现以及代码
1.接口的简单实现
package demo3;
interface IShape {//接口
public abstract void draw();
default void func(){
System.out.println(" 1");
}
public static void funStatic(){
}
}
class Rect implements IShape{//也就是实现
@Override
public void draw() {
System.out.println("rect");
}
// @Override
// public void func() {
// System.out.println("默认方法的重写");
// }
}
public class Test {
public static void drawMap(IShape iShape){//这里会完成动态绑定 接口也是可以的
iShape.draw();
}
public static void main(String[] args) {
IShape iShape = new Rect();
iShape.draw();
iShape.func();
drawMap(iShape);
}
}
2.接口里面的属性及方法
interface IA{
public int a = 10;//默认是static final的 是常量