Heim  >  Artikel  >  Java  >  Detaillierte Analyse von JAVA-Schnittstellen und abstrakten Klassen

Detaillierte Analyse von JAVA-Schnittstellen und abstrakten Klassen

WBOY
WBOYnach vorne
2022-07-08 14:42:251645Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Java, das hauptsächlich Probleme im Zusammenhang mit Schnittstellen und abstrakten Klassen löst. Wenn Sie eine Klasse von mehreren Klassen ableiten und alle ihre Attribute und Methoden erben müssen, ist die Verwendung von JAVA-Schnittstellen nicht erforderlich Um die Mehrfachvererbung zu implementieren, schauen wir uns das an. Ich hoffe, es wird für alle hilfreich sein.

Detaillierte Analyse von JAVA-Schnittstellen und abstrakten Klassen

Empfohlene Studie: „Java-Video-Tutorial

Schnittstelle

Übersicht

  1. Wenn Sie eine Klasse von mehreren Klassen ableiten müssen, erbenalle deren Eigenschaften und Methoden, JAVA verfügt nicht über Mehrfachvererbung Es muss mithilfe von Schnittstellen
  2. implementiert werden, um einige „gemeinsame Verhaltensmerkmale“ aus mehreren Klassen zu extrahieren, und es besteht keine Beziehung zwischen ihnen. Es muss auch mithilfe von Schnittstellen implementiert werden Die Essenz von Schnittstellen ist
  3. Verträge und Spezifikationen
  4. Verwenden Sie

Verwenden Sie
    Schnittstelle
  1. in der Schnittstelle, um zu definieren: Die Schnittstelle implementiert Implementierungen durch Klassen.
  2. JAVA-Klassen können mehrere Schnittstellenformate implementieren:
  3. Klasse AA erweitert die BB-Schnittstelle CC, DD
  4. Die in der Schnittstelle definierte
  5. statische Methode
  6. kann nur über die Schnittstelle aufgerufen werden
  7. Die Standardmethode in der Schnittstelle kann über das Objekt der Implementierungsklasse implementiert werdenWenn die Unterklasse (oder Implementierungsklasse) das übergeordnete Element erbt Klasse und Die implementierte Schnittstelle deklariert eine Methode mit demselben Namen und denselben Parametern. Wenn die Unterklasse diese Methode nicht überschreibt, wird die Methode mit demselben Namen und denselben Parametern in der übergeordneten Klasse aufgerufen
  8. public class UsbTest {
        public static void main(String[] args) {
            Computer com =new Computer();
            Flash flash=new Flash();
            com.transferData(flash); // USB usb =new Flash()
            com.transferData(new Printer());
            /*
    		* U盘开始工作
    		* 传输数据
    		* U盘结束工作
    		* 打印机开始工作
    		* 传输数据
    		* 打印机结束工作
    		* 
    		* */
        }}class Computer{
        public void transferData(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("U盘开始工作");
        }
    
        @Override
        public void stop() {
            System.out.println("U盘结束工作");
    
        }}class Printer implements USB{
    
        @Override
        public void start() {
            System.out.println("打印机开始工作");
    
        }
    
        @Override
        public void stop() {
            System.out.println("打印机结束工作");
    
        }}
    Agent-Modus
  9. Der Proxy-Modus dient dazu, einen Proxy für andere Objekte bereitzustellen.
Instanz
  1. public class JDK8Test {
        public static void main(String[] args) {
            SubClass sub =new SubClass();
            CompareA.methods1();
            sub.methods2();
            /*
            * Compare 北京
    		* Compare 上海
            */
        }}class SubClass implements CompareA{}interface CompareA{
        public static void methods1() {
            System.out.println("Compare 北京");
        }
        public default void methods2() {
            System.out.println("Compare 上海");
        }}
  2. Interne Klasse
  • JAVA ermöglicht die Deklaration einer Klasse A in einer anderen Klasse B, dann ist Klasse A eine interne Klasse und Klasse B ist eine externe Klasse internale Klassenklassifizierung
  • Member innere Klasse
Static static

non-static
  1. Local Inner Class
inside Methode „Instanziieren eines inneren Klassenobjekts“

Unterschiede: abstrakt Klassen haben Konstruktoren, Schnittstellen haben keine Konstruktoren; abstrakte Klassen haben nur eine Einzelvererbung, während Schnittstellen eine Mehrfachvererbung haben können; abstrakte Klassen erweitern die Vererbung und Schnittstellen implementieren

  1. Empfohlenes Lernen: „
  2. Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse von JAVA-Schnittstellen und abstrakten Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen