色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看


Java中的類和對象

分享到:
           

    在java語言里,對象是一組描述對象的屬性和操作方法的集合,其中屬性表明對象的狀態,方法表明對象的行為。類是對象的定義。一個對象具有哪些屬性和方法,由類來決定。從編程角度看,類是一種復合數據類型,它封裝了一組變量和方法(函數)。

    人們通過觀察對象的屬性和行為來了解對象,對象的屬性描述了對象的狀態,對象的行為描述了對象的功能。對象一般有如下特性:

    (1)有一個名字以區別于其他對象。

    (2)有一些狀態用來描述它的某些特征。

    (3)有一組操作,每個操作決定了對象的一種功能或行為。

    這樣,可以讓程序員乃至非專業人員更好地理解程序。它涉及一個從“具體”到“抽象”,再從“抽象”到“具體”的過程。所謂“從‘具體’到‘抽象’”,也就是將現實世界中的一個個具體的“物體”(或稱為“實體(Entity)”)相應的特征和行為抽象出來,并且將各種具有相同特征的“物體”分為一個個的“類”,如“汽車”類、“人”類、“房子”類等;而所謂“從‘抽象’到‘具體’”,就是將上面抽象出來的對應物體的“類”,使用具體的計算機語言來描述,比如,使用Java語言來描述“汽車”類、“人”類、“房子”類等,和使用C++語言來描述這些類是有區別的。

    正如前面所述,“類”相對于現實世界中的“實體種類”(Entity Category),如汽車、人類、房子等,它是現實生活中某類實體的抽象。而對象,或者實體(Instance),指的是這些種類中的一個個具體存在,如Benz-600、Santana-2000等具體的汽車,或者張三、李四等具體的個人。類和對象是面向對象編程思想中的核心和基礎。類是作為對象的藍圖而存在的,所有的對象都依據相應的類來產生,在面向對象的術語中,這個產生對象的過程稱為“實例化”。

    用一個具體的例子來進一步說明“類”和“對象”之間的聯系與區別。以汽車為例,只要是汽車,都應該有以下一些特性:輪子、引擎、方向盤、剎車等組件,可以通過這些組件來操作汽車,改變汽車的狀態,如加速、轉向、減速等,這些都是汽車的共性。具體到某輛汽車,它可能有80cm的輪子、40cm的方向盤、A6引擎,它是一個確定的實例。使用“汽車類”這個藍圖,就可以生產出一輛輛的汽車“實例”。這和蓋房子一樣,根據一張圖紙,可以蓋出任意數量的房子,而這些房子都有一樣的特征。

    如果說一切都可以成為對象,那么是什么決定了某一類對象的外觀和行為呢?類是對某個對象的定義,用來描述一組具有相同特征對象的:

    (1)應包括的數據。

    (2)行為特征。

    類包含有關對象動作方式的信息,包括它的名稱、方法、屬性和事件。實際上類本身并不是對象,因為它不存在于內存中。當引用類的代碼運行時,類的一個新的實例,即對象,就在內存中創建了。一個類能從這個類在內存中創建多個相同類型的對象。因此,類應該包括兩個方面的內容。

    (1)屬性:用來描述對象的數據元素稱為對象的屬性(也稱為數據/狀態)。

    (2)方法:對對象的屬性進行的操作稱為對象的方法(也稱為行為/操作)。

    Java語言中類的聲明,也稱類的定義,其語法規則如下:

    [< modifiers>] class < class_name> {
    [<attribute_declarations>]
    [<constructor_declarations>]
    [<method_declarations>]
    }

    其中各組成部分的含義如下:

    <modifiers>為修飾符,可用的有public、abstract和final等關鍵字(關鍵字是Java語言中賦以特定含義,并用做專門用途的單詞,類名、方法名和屬性名及變量名不能是關鍵字),用于說明所定義的類有關方面的特性。對于各種關鍵字和它們的含義及各自的適用范圍,請看后續章節的介紹。

    類成員有3種不同的訪問權限:

    (1)公有( public關鍵字修飾 )類成員可以在類外訪問。

    (2)私有( private關鍵字修飾 )類成員只能被該類的成員函數訪問。

    (3)保護( protected關鍵字修飾 )類成員只能被該類的成員函數或派生類的成員函數訪問。

    class關鍵字表明這是一個類的定義,將告訴你一個新類型的對象看起來是什么樣的。

    <class_name>是類的名字,類名一般使用一個用于表示這個類的名詞來表示。

    <attribute_declarations>是屬性(Attribute)聲明部分。

    <constructor_declarations>是構造器(Constructor)聲明部分。

    <method_declarations>是方法(Method)聲明部分。

    可以將上述的“學生”實體的基本特征當成“學生”類的屬性,然后,再定義一些方法來對這些屬性進行操作。這里,將這些操作屬性的方法定義得很簡單:每個屬性都有相應的設置(setter)和獲取(getter)方法,設置方法將傳入的參數賦給對象的屬性,而獲取方法取得對象的屬性。

源文件:Student.java

    public class Student {
        // 定義屬性
        String name;
        String sex;
        int grade;
        int age;

        // 定義屬性“name”的設置方法
        public void setName(String _name) {
            name = _name;
        }

        // 定義屬性“name”的獲取方法
        public String getName() {
            return name;
        }

        // 定義屬性“Sex”的設置方法
        public void setSex(String _sex) {
            sex = _sex;
        }

        // 定義屬性“Sex”的獲取方法
        public String getSex() {
            return sex;
        }

        // 定義屬性“grade”的設置方法
        public void setGrade(int _grade) {
            grade = _grade;
        }

        // 定義屬性“grade”的獲取方法
        public int getGrade() {
            return grade;
        }

        // 定義屬性“age”的設置方法
        public void setAge(int _age) {
            age = _age;
        }
        // 定義屬性“age”的獲取方法
        public int getAge() {
            return age;
        }
    }

   熱點鏈接:

   1、Java構造器的使用方法
   2、Java驅動在智能嵌入式設備上更具優勢
   3、如何學習嵌入式?

更多新聞>> 

主站蜘蛛池模板: 爱爱视频久久 | 日本aaa在线观看 | 中文无码天天AV天天爽 | 少妇群交换bd高清国语版 | 两个人看的www中文在线观看 | 欧美久 | 日本三级香港三级三级人!妇久 | 美女黄网站18禁免费看胸罩 | 亚洲日本VA午夜中文字幕一区 | 亚洲熟妇无码AV不卡在线播放 | 苍井空无码免费换线 | 少妇被躁爽到高潮无码文 | 嫩草视频在线观看 | 成人精品一区日本无码网 | 成人免费无码大片A毛片软件 | 一本AV高清一区二区三区 | 日韩欧美在线视频一区 | 国产自产一二三区 | 曰批全过程免费视频在线观看网站 | 欧美人与动牲交ZOOZ3D | 人人妻人人妻人人人人妻 | 老色鬼在线精品视频 | 亚洲精品一区二区不卡 | 真人作爱视频免费 | 日本羞羞裸色私人影院 | 国产熟女一区二区三区四区五区 | 一本色综合亚洲精品 | 国模无码视频一区二区三区 | 狠狠躁夜夜躁人人躁婷婷 | 日本视频免费观看的网站 | 亚洲美女又黄又爽在线观看 | 穿乳环蒂环上锁调教老师 | 亚洲加勒比无码一区二区 | 亚洲人成色99999在线观看 | 蜜臀精品无码AV在线播放 | 中文人妻AV大区中文不卡 | 日本三级国产 | 亚洲熟妇久久精品 | 亚洲精品色婷婷在线影院 | 久久久久久三级 | 国产欧美另类久久久精品丝瓜 |