Android之JavaSe基礎--面向對象高級部分-接口,抽象類(五)

一、final關鍵字
Final常用來聲明常量,常量必須大寫,常量的內容是不能夠修改的。
例子:private final String INFO = “劉歡”; //聲明常量
Public final void print(){ //使用final聲明的方法不能夠被覆寫
INFO=”HELLO”;
}
全局常量:public static final String INFO=”劉歡”;
二、抽象類:包含一個抽象方法的類就稱爲抽象類。(抽象方法:只聲明而未實現的方法稱爲抽象方法,抽象方法必須使用abstract關鍵字聲明)

 abstract class A
{
    public static final String FLAG="CHINA";    //全局常量
    private String name="劉歡";   //定義一個普通的屬性
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public abstract void print();   //定義抽象方法,不必實現
}
class B extends A       //繼承抽象類,因爲B是普通類,所以必須覆寫A中的抽象方法
{
    public void print(){
        System.out.println("FLAG="+FLAG);
        System.out.println("姓名="+super.getName());
    }
}
public class AbstractDemo
{
    public static void main(String[] args){
        B b=new B();
        b.print();
    }
}

注意:抽象類使用的時候一定要有子類,子類仍然使用extends繼承。
抽象類中絕對不能使用final關鍵字聲明的(因爲final聲明沒有子類),抽象類中
允許有構造方法,而且完全符合子類對象的實例化過程。
三、接口:接口是java中最重要的概念,接口可以理解爲一種特殊的類,裏面全都是
由全局變量和公共的抽象方法所組成。
格式: interface 接口名稱{
全局常量;
抽象方法;

例子:

Interface test{
    Public String personInfo(String name,String sex,int age){
    return “你是一個人”;
}
Public void eat(String name,String sex,int age){
    return “人需要喫飯”;
}
。。。
}

一個子類可以同時繼承抽象類和實現接口
格式: class 子類 extends 抽象類 implements 接口A,接口B…{}
例子:

abstract class A
{
    public static final String FLAG="CHINA";    //全局常量
    private String name="劉歡";   //定義一個普通的屬性
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public abstract void print();   //定義抽象方法,不必實現
}
interface Person
{
    public String say();
}
class B extends A   implements Person   //繼承抽象類,因爲B是普通類,所以必須覆寫A中的抽象方法,接口
{
    public void print(){
        System.out.println("FLAG="+FLAG);
        System.out.println("姓名="+super.getName());
    }
    public String say(){
        return "人說話!";
    }
}
public class InterfaceDemo
{
    public static void main(String[] args){
        B b=new B();
        b.print();
        System.out.println(b.say());
    }
}

注意:一個接口不能繼承一個抽象類,但是可以用extends繼承多個接口!!!!!!
格式: interface 子接口 extends 父接口1,父接口2..{}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章