인터페이스는 다음과 같이 정의됩니다.
[可见度] interface 接口名称 [extends 其他的接口名] { // 声明变量 // 抽象方法}
인터페이스의 본체에는 추상 메소드가 포함되어 있지만 인터페이스의 모든 메소드(정의상)는 추상(Abstract) 메소드이므로 abstract 키워드는 인터페이스는 원하지 않습니다. 인터페이스는 외부 동작의 모음을 나타내므로 인터페이스 내의 모든 메서드는 공개됩니다.
예:
public interface Predator { boolean chasePrey(Prey p); void eatPrey(Prey p); }
인터페이스의 멤버는 모두 정적(static
), final
및 public(public
)입니다. , 그들은 어떤 클래스나 인터페이스의 유형이 될 수 있습니다. static
)、final
及公开(public
),反之,他们可以成为任何类或接口的类型。
相关视频教程推荐:java在线教程
接口的实现:
public class Lion implements Predator { public boolean chasePrey(Prey p) { // programming to chase prey p (specifically for a lion) } public void eatPrey (Prey p) { // programming to eat prey p (specifically for a lion) } }
说明:
如果一个类实现了一个接口,而没有实现接口的所有方法,则它必须被标注为abstract(抽象类)。一个抽象类的子类必须实现它未完成的方法,假如该项子类仍不会实现接口的所有方法,那么该项子类依然需要被标注为abstract。
接口通常被使用在Java编程语言,用来做回调函数使用。Java并不允许方法作为参数传递使用,因此,其中一个解决办法则是可以定义一个接口,把这个接口当成方法的参数,以此来使用该项对象的方法签名。
子接口
接口可以被延伸为数个不同的接口,可以使用上述所描述的方法,举例来说:
public interface VenomousPredator extends Predator, Venomous { //介面主體 }
以上的程序片段是合法定义的子接口,与类不同的是,接口允许多重继承,而Predator
及 Venomous
可能定义或是继承相同的方法,比如说kill(Prey prey)
,当一个类实现VenomousPredator
Predator
및 Venomous
는 kill(Prey prey)
와 같은 동일한 메서드를 정의하거나 상속할 수 있습니다. VenomousPredator
를 구현하면 두 가지 방법을 모두 구현하게 됩니다. 🎜🎜추천 관련 기사 및 튜토리얼: 🎜Java 학습 시작하기🎜🎜위 내용은 인터페이스를 작성하고 Java에서 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!