首頁  >  文章  >  Java  >  java介面和抽象類別的介紹(程式碼範例)

java介面和抽象類別的介紹(程式碼範例)

不言
不言轉載
2019-01-31 10:52:022550瀏覽

本篇文章帶給大家的內容是關於java介面和抽象類別的介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

介面:

(1)介面內定義的變數都是public static final類型的,無論是否顯示限定這些修飾符,且必須被明確初始化,否則報錯:

public interface Interface1 {
    /**
     * VARIABLE1显式添加public static final修饰符
     * VARIABLE2隐式含有public static final修饰符
     */
    public static final String VARIABLE1="AAA";
                        String VARIABLE2="BBB";
    
    /**
     * VARIABLE3未显式初始化,代码变异报错:
     * The blank final field VARIABLE3 may not have been initialized
     */
    String VARIABLE3;                    
}

(2)介面內定義的方法都是抽象方法,即不包含任何方法實作

a.如果實作介面的類別是普通類別(非抽象類別),則要實作該介面的所有方法,否則編譯報錯;

b.如果實作介面的類別是抽象類,則可以只實作該介面的部分方法,否則拋出例外;

public interface Interface2 {
    /**
     * method1方法定义显式添加public abstract修饰符
     * method2方法隐式含有public abstract修饰符,两个方法都是抽象方法
     */
    public abstract String method1();
                    String method2();
}

/**
 * 普通类Class1实现Interface2接口,必须实现所有接口方法
 *
 */
public class Class1 implements Interface2 {

    @Override
    public String method1() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String method2() {
        // TODO Auto-generated method stub
        return null;
    }

}

##

/**
 * 抽象类Class2实现Interface2接口,可以只实现方法method1
 */
public abstract class Class2 implements Interface2 {

    @Override
    public String method1() {
        // TODO Auto-generated method stub
        return null;
    }

}

抽象類別:

(1)

抽象類別也是類,跟一般類別一樣可以有普通的變數、帶實現的方法,可以有構造函數,但不能被實例化,只能用來繼承;

普通方法必須帶方法體,抽象方法不能帶方法體;

public abstract class AbstractClass1 {
    String variable1;//普通变量
    public static final String VARIABLE2="AAA";//定义静态常量
    public void method1(){  }//普通方法,必须有方法体
    abstract void method2();//抽象方法,不能有方法体
    
    AbstractClass1(){//可以定义构造函数,但抽象类不能实例化,只能被继承
        System.out.println("此为构造函数");
    }
}

接口和抽象類別還有一個最大的不同,

一個類別可以實現多個接口,但只能繼承一個類別

#在實際應用中,接口是最常用的,如果多個介面的實作有公共的部分,則可以考慮將這部分內容提取到抽象類別中,然後繼承該抽象類別。也就是說,抽象類別提供公共方法的實現,可以快速開發且統一管理,並允許你的類別完全實現自己的所有方法,不會出現緊密耦合的問題。

以上是java介面和抽象類別的介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除