例如:
要访问接口方法,必须实现接口 (有点像继承的),由另一个类使用implements
关键字(而不是extends
)。接口方法的实现由用implements
关键字的类提供:
public class Main {
public static void main(String[] args) {
Cat myCat = new Cat(); // 创建Cat对象
myCat.eat();
myCat.sleep();
}
}
// Interface
interface Animal {
public void eat(); // 接口方法(没有实现)
public void sleep(); // 接口方法(没有实现)
}
// Cat 实现 Animal 接口
class Cat implements Animal {
public void eat() {
// 这里提供了eat()的实现
System.out.println("吃鱼");
}
public void sleep() {
// 这里提供了sleep()的实现
System.out.println("Zzz");
}
}
1、定义和用法
implements
关键字用于实现interface
。
在Java中实现抽象的另一种方法是使用接口(interface)。接口(interface)是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。
关于接口的说明:
1 ) 与抽象类一样,接口不能用于创建对象
2 ) 接口方法没有实现-实现由使用implements关键字类提供
3)在实现接口时,必须重写其所有方法
4)接口中的方法在默认情况下public abstract
5)接口属性默认情况下public static final
6)接口不能包含构造函数(因为它不能用于创建对象)
Java不支持多继承(一个类只能从一个超类继承),使用接口可以实现多继承。但是,这可以通过接口来实现多继承。要实现多个接口,请用逗号将它们分开。
2、实现多个接口(implements)
要实现多个接口,请用逗号分隔它们:
例如:
public class Main {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
interface FirstInterface {
public void myMethod(); // 接口方法
}
interface SecondInterface {
public void myOtherMethod(); // 接口方法
}
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("myMethod");
}
public void myOtherMethod() {
System.out.println("myOtherMethod");
}
}