1、使用interface关键字修饰的是接口,但接口不是类,接口是特殊的抽象类;
2、适用性:表示一组行为的抽象,当多个类之间存在行为上的共性时,我们可以用接口进行表示;
3、是一种引用数据类型,只能放抽象方法和常量;
4、接口不能被创建对象,所以需要子类来进行重写接口中的功能。
1 public interface Shape1 { 2 public int A = 1;//默认为常量 3 public void area();//默认为抽象方法 4 } 5 class CircleImp implements Shape1{ 6 @Override public void area() { 7 System.out.println(4*4*3.14); 8 } 9 } 10 class SquareImp implements Shape1{ 11 @Override public void area() { 12 System.out.println(4*4); 13 } 14 }
• 接口可以作为类型指向实现类对象,调用时不同实现类的实现方法
public class TestInterface { public static void main(String[] args) { //Shape1 s = new Shape1();//Cannot instantiate the type Shape1 CircleImp ci = new CircleImp(); ci.area(); SquareImp si = new SquareImp(); si.area(); //接口类型指向不同实现类对象 Shape1 s = new CircleImp(); s.area();//计算圆面积 Shape1 s1 = new SquareImp(); s1.area();//计算正方形面积 } }