Interface de mot-clé Java

1. Introduction

L'interface est la spécification, qui définit un ensemble de règles

L'héritage est une relation «est-ce correct» et l'interface est une relation «peut»

L'essence de l'interface est le contrat, la norme, la spécification

Deuxièmement, comment définir l'interface

1. Avant JDK8

Constante globale: le final statique public peut être omis sans écrire
Méthode abstraite: résumé public

2. Après JDK8

Variable globale
méthode abstraite méthode
par défaut méthode
statique

Après JDK8, en plus des constantes globales et des méthodes abstraites, les méthodes statiques et les méthodes par défaut peuvent également être définies dans les interfaces.

interface A{
    
    
    //常量	前面省略public static final
    int a;
    //抽象方法	前面省略public abstract
    void method1();
    //静态方法
    public static void method2(){
    
    
        System.out.println("接口中的静态方法")
    }
    //默认方法
    public default void method3(){
    
    
        System.out.println("接口中的默认方法")
    }
}

La description

  • Les méthodes statiques définies dans l'interface ne peuvent être appelées que via l'interface

  • La méthode par défaut définie dans l'interface peut être remplacée par la classe d'implémentation et appelée avec l'objet de la classe d'implémentation

  • Principe de priorité de classe -si la sous-classe (classe d'implémentation) héritée par la classe parente et l'interface implémentée ont des méthodes avec le même nom et les mêmes paramètres, alors la sous-classe appellera la classe parente avec le même nom et les mêmes paramètres par défaut sans remplacer cette méthode

  • Conflit d'interface - Si la classe d'implémentation implémente plusieurs interfaces et qu'il existe des méthodes par défaut avec le même nom et les mêmes paramètres entre plusieurs interfaces, une erreur sera signalée si la classe d'implémentation ne remplace pas la méthode

    La solution est de réécrire

Troisièmement, les caractéristiques de l'interface

  • Le constructeur ne peut pas être défini dans l'interface, et lorsque le message d'erreur est défini, les
    interfaces ne peuvent pas avoir de constructeurs

    Signifie que l'interface ne peut pas être instanciée

  • En développement, l'interface est utilisée en laissant la classe implémenter,

    Une fois qu'une classe a implémenté une interface, elle ne peut implémenter que toutes les méthodes abstraites de l'interface, ou déclarer cette classe comme une classe abstraite. Sinon, il signalera une erreur

  • Les classes en Java peuvent implémenter plusieurs interfaces, ce qui compense les limitations de l'héritage de classe unique

    Exemple de format de déclaration de classe d'emballage

    public final class Integer
    extends Number
    implements Comparable<Integer>
    
  • La relation entre classe et classe est l'héritage

    La relation entre classe et interface est de réaliser

    La relation entre l'interface et l'interface est l'héritage

  • L'utilisation d'interfaces reflète le polymorphisme

public class USBTest {
    
    
	public static void main(String[] args) {
    
    
		Computer com = new Computer();
		USB flash = new Flash();
		com.tranfferDate(flash);
	}
}

class Computer{
    
    
	public void tranfferDate(USB usb) {
    
    
		usb.start();
		System.out.println("传输细节");
		usb.stop();
	}
}

interface USB{
    
    
	void start();
	void stop();
}

class Flash implements USB{
    
    
	@Override
	public void start() {
    
    
		System.out.println("Flash开始传输数据");
	}

	@Override
	public void stop() {
    
    
		System.out.println("Flash停止传输数据");
	}
}

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45321793/article/details/109495339
conseillé
Classement