面向对象——接口
1.接口概念
接口是一系列方法的声明,是一些方法特征的集合,
一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。
接口语法格式:
访问修饰符 interface 接口名{ //接口名的命名规则是大驼峰命名
public static final 类型名 = 常量;
public abstract void 方法名();
}
2.接口的特点
- 接口中的修饰符只有public和默认;接口中的变量修饰符只能是是 public static final,所以在接口中声明的都是常量。接口中的方法没有方法体,不能被实例化,方法的修饰符只能是public abstract, 默认也是public abstract。
public interface A {
public static final int a=5;
public abstract void cacullate();
}
相当于
public interface A {
int a=5;
void cacullate();
}
-
接口中没有构造器,所以不能被实例化。
-
一个接口不能实现另一个接口,但是可以继承多个其他的接口。
-
JAVA接口必须通过类来实现它的抽象方法
-
当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类。
3.接口与抽象的区别
①接口中的方法都是抽象方法,抽象类中的方法可以是抽象方法,也可以不是抽象方法
②接口中的变量必须由public static final 来修饰,抽象类中变量修饰则任意
③接口中抽象方法的访问修饰是隐式公开抽象,可以不带public abstract修饰符,抽象类中的抽象方法的访问修饰则必须带public abstract修饰符
④一个类只能继承一个抽象类,一个类可以实现多个接口
⑤接口中不能有静态代码块和静态方法,抽象类中可以
4.接口与继承的区别
①关键字不同,实现接口用(implements),继承(extends)。
②Java中继承只能单根继承,但是接口可以实现多继承 。
③在接口中只有全局变量和抽象方法的定义(public static final)(public abstract),而在继承中可以定义的东西更多。
④接口中有多少方法,在类中一定要有接口中的多少方法,但是在继承中可以随意调用父类中的属性和方法。