如果一个抽象类中所有的方法都是抽象的,则可以将这个类用另外一种方式来定义,即接口
在定义接口时,需要使用interface来声明
接口中定义的方法默认使用“ public
abstract”来修饰,即抽象方法
接口中定义的变量默认使用“ public
static final”来修饰,即全局变量
例子:
由于接口中的方法都为抽象方法,故不能通过实例化对象的方式来调用接口中的方法。此时需要定义一个类,并使用
implements关键字实现接口中
所有的方法
interface Animal //接口,里面都是抽象方法
{
int ID=1; //定义全局变量
void breathe();
void run();
}
class Dog implements Animal
{
public void breathe(){
System.out.println("狗在呼吸");
}
public void run(){
System.out.println("狗在跑。。。");
}
}
class Example
{
public static void main(String[] args)
{
Dog dog=new Dog();//创建对象
dog.breathe();
dog.run();
}
}
运行结果:
狗在呼吸
狗在跑。。。
归纳:
1.接口中的方法都是抽象的,不能实例化对象
2.当一个类实现接口时,如果这个类是抽象类,则实现接口中的部分方法即可,若非抽象类,则需要实现所有接口中的方法。
3.一个类通过implements关键字实现接口时,可以实现多个接口,被实现的多个接口
之间要用逗号隔开
4.一个类在继承另一个类的同时还可以实现接口,此时
extend关键字必须位于implements关键字之前