一个抽象类中的所有方法都是抽象的,就可以将这个类用另外一种方式来定义,也就是接口定义。
接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
可以使用extends来继承接口的常量和抽象方法,但它与类中的extends不同,它可以继承有多个父接口(多重继承),各父接口间用逗号隔开。
接口中的所有常量必须是public static final,方法必须是public abstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的
定义接口
修饰符 interface 接口名 [extends 父接口列表]
{
常量域声明
抽象方法声明
}
class cat implements Animal
{
public void shout ()
{
System.out.print(“喵喵”);
}
}
实现接口
implements
一个类可以实现若干个接口
非抽象类必须实现所有的抽象方法
interface prt
{
public void prtln();
}
class A implements prt{
int a = 3;
public void prtln()
{
//输出a;
}
}
class B implements prt{
int b = 4;
public void prtln()
{
//输出b;
}
}
public class MyInterfaceDemo
{
public static void dost(prt c)
{
c.prtln();
}
public static void main(String[] args)
{
A a1 = new A();
B b1 = new B();
MyInterfaceDemo.dost(a1);
MyInterfaceDemo.dost(b1);
}
}
接口定义的方法没有具体的实现,是抽象的。所以他的方法要别的类去继承然后实现
接口是定义一堆方法的规范 然后待实现 实现类要实现这个接口中所有的方法 就比如说 接口可以是 一个人 然后实现类可以是白人 黑人这样
接口只是定义一个规范、一套标准
实现类才是具体的操作实现
希望对你有帮助