接口
https://www.runoob.com/java/java-interfaces.html
菜鸟教程
接口,在JAVA中是一个抽象类型,是抽象方法的集合,以interface来声明。
一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要重写接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类
接口只有规范,通过 interface 关键字去实现 ,而不用class
接口中所有的定义都是抽象的。
方法前面不需要加修饰符,默认是 public abstract (公共抽象)
// 方法默认是 public abstract public interface UserServer { public abstract String add(String name); // 下面不写 public abstract 也是一样效果的 String delete(String name); String change(String name); String look_for(String name); }
接口只能创建这个方法,也不能去写方法的实现
接口中也有属性,默认是 public static final (公开静态常量)
public interface UserServer{ public static final int AGE; // 下面不写 public static final 也是一样的效果 String NAME; }
每个接口都需要一个实现类
-
命名时以 Impl 结尾。
-
用 implemens 去实现接口
-
实现接口就要去重写接口中的方法,使用 (Ctrl + O)快捷键去重写
public class UserServerImpl implements UserServer{ @Override public String add(String name) { return null; } @Override public String delete(String name) { return null; } @Override public String change(String name) { return null; } @Override public String look_for(String name) { return null; } }
接口的特点:
-
约束
-
定义一些方法,让不同的人实现
-
方法默认: public abstract
-
属性默认: public static final
-
接口不能实例化,因为接口中没有类,无构造方法
-
implments 可以实现多个接口
public class xxx implments 接口1,接口2,...{}
但要记得重写方法!!!
-
若调用接口,必须重写接口中的方法
狂神java https://www.kuangstudy.com/