IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育


Java中的類和對(duì)象

分享到:
           

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

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

    (1)有一個(gè)名字以區(qū)別于其他對(duì)象。

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

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

    這樣,可以讓程序員乃至非專業(yè)人員更好地理解程序。它涉及一個(gè)從“具體”到“抽象”,再?gòu)摹俺橄蟆钡健熬唧w”的過程。所謂“從‘具體’到‘抽象’”,也就是將現(xiàn)實(shí)世界中的一個(gè)個(gè)具體的“物體”(或稱為“實(shí)體(Entity)”)相應(yīng)的特征和行為抽象出來,并且將各種具有相同特征的“物體”分為一個(gè)個(gè)的“類”,如“汽車”類、“人”類、“房子”類等;而所謂“從‘抽象’到‘具體’”,就是將上面抽象出來的對(duì)應(yīng)物體的“類”,使用具體的計(jì)算機(jī)語言來描述,比如,使用Java語言來描述“汽車”類、“人”類、“房子”類等,和使用C++語言來描述這些類是有區(qū)別的。

    正如前面所述,“類”相對(duì)于現(xiàn)實(shí)世界中的“實(shí)體種類”(Entity Category),如汽車、人類、房子等,它是現(xiàn)實(shí)生活中某類實(shí)體的抽象。而對(duì)象,或者實(shí)體(Instance),指的是這些種類中的一個(gè)個(gè)具體存在,如Benz-600、Santana-2000等具體的汽車,或者張三、李四等具體的個(gè)人。類和對(duì)象是面向?qū)ο缶幊趟枷胫械暮诵暮突A(chǔ)。類是作為對(duì)象的藍(lán)圖而存在的,所有的對(duì)象都依據(jù)相應(yīng)的類來產(chǎn)生,在面向?qū)ο蟮男g(shù)語中,這個(gè)產(chǎn)生對(duì)象的過程稱為“實(shí)例化”。

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

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

    (1)應(yīng)包括的數(shù)據(jù)。

    (2)行為特征。

    類包含有關(guān)對(duì)象動(dòng)作方式的信息,包括它的名稱、方法、屬性和事件。實(shí)際上類本身并不是對(duì)象,因?yàn)樗淮嬖谟趦?nèi)存中。當(dāng)引用類的代碼運(yùn)行時(shí),類的一個(gè)新的實(shí)例,即對(duì)象,就在內(nèi)存中創(chuàng)建了。一個(gè)類能從這個(gè)類在內(nèi)存中創(chuàng)建多個(gè)相同類型的對(duì)象。因此,類應(yīng)該包括兩個(gè)方面的內(nèi)容。

    (1)屬性:用來描述對(duì)象的數(shù)據(jù)元素稱為對(duì)象的屬性(也稱為數(shù)據(jù)/狀態(tài))。

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

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

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

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

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

    類成員有3種不同的訪問權(quán)限:

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

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

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

    class關(guān)鍵字表明這是一個(gè)類的定義,將告訴你一個(gè)新類型的對(duì)象看起來是什么樣的。

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

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

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

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

    可以將上述的“學(xué)生”實(shí)體的基本特征當(dāng)成“學(xué)生”類的屬性,然后,再定義一些方法來對(duì)這些屬性進(jìn)行操作。這里,將這些操作屬性的方法定義得很簡(jiǎn)單:每個(gè)屬性都有相應(yīng)的設(shè)置(setter)和獲取(getter)方法,設(shè)置方法將傳入的參數(shù)賦給對(duì)象的屬性,而獲取方法取得對(duì)象的屬性。

源文件:Student.java

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

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

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

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

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

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

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

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

   熱點(diǎn)鏈接:

   1、Java構(gòu)造器的使用方法
   2、Java驅(qū)動(dòng)在智能嵌入式設(shè)備上更具優(yōu)勢(shì)
   3、如何學(xué)習(xí)嵌入式?

更多新聞>> 

主站蜘蛛池模板: 陶瓷靶材_氧化铌靶材_合金靶材_专注河北氧化铌靶材批发-河北东同光电科技有限公司 | 威海赶海网、乳山特产、威海专营海产品、威海旅游产品 - 威海赶海电子商务 | 铝合金线棒生产厂家-提供第三代精益管,防静电工作台定制与批发-宁波杰艾逖仓储设备有限公司 | 网带输送机_皮带_滚筒_链板输送机_不锈钢输送链条生产厂家-宁津县鸿昶机械设备有限公司 | 丝杆升降机-蜗轮丝杆升降机-电动推杆-德州市金宇机械有限公司 | 辽宁大卯新能源供热设备制造有限公司官方网站,大卯新能源,大卯新能源供热设备 | 王者荣耀/和平精英扫码上号登录器_微信安卓苹果扫码上号登录软件 - 上号宝扫码登录器 | 河卵石制砂机|鹅卵石制砂机-移动制砂机-制砂设备-郑州秦星机械设备有限公司 | 上饶环亚电脑会计培训学校--电脑学校|上饶电脑学校|上饶电脑培训|会计培训|上饶会计培训|上饶县会计培训|广丰会计培训|玉山会计培训|横峰会计培训|上饶网店培训 上进电缆(嘉兴)股份有限公司官网 - 光伏电缆|防火电缆|电力电缆|铝合金电缆专业生产厂家 | 山东汇河环保科技集团有限公司,水囊水袋,水罐,油囊,预压水袋,吊重水袋_山东汇河环保科技集团有限公司,水囊水袋,水罐,油囊,预压水袋,吊重水袋 | 桥梁支座更换_桥梁检测车租赁_高空作业车出租_支座更换_伸缩缝安装_隧道防水_养护加固_维修_出租_衡水庆兴桥梁养护工程有限公司 桥梁养护|桥梁维修加固|隧道裂缝修补|支座更换|管道堵水气囊|衡水众拓路桥养护有限公司 | 造型松|泰山迎客松|造型油松-泰安小苹果园林 | 深圳人才网_深圳招聘网_【官方网站】 | 山东胜王水处理设备有限公司,反渗透设备,纯净水设备,污水处理设备,SWS系列全自动钠离子交换器,纯净水设备报价,活性碳过滤器,多介质过滤器 | 暨南大学穗华口腔医院【官网】| 无塔供水_无塔供水设备_全自动_石家庄工泉水处理设备有限公司_家用无塔供水器 | 江苏维赛科技生物发展有限公司| 山东中煤建设工程有限公司| 液压万能试验机价格_电子万能试验机|摩擦磨损试验机厂家-济南辰达试验机制造有限公司 | 四通球阀_304真空阀_不锈钢五通球阀厂家-浙江壬丰阀门有限公司 | 指纹锁_智能锁_指纹密码锁_智能锁十大品牌_智能门锁厂家-深圳市豪力士智能科技有限公司 | 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 内蒙古国际门窗幕墙展览会| 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 真空系统,真空泵租赁技术服务-兆德机械(上海)有限公司 | 绿化工程-绿化养护-园林设计-东莞市泉桦园林绿化有限公司 | 无塔供水_无塔供水设备_全自动_石家庄工泉水处理设备有限公司_家用无塔供水器 | 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 紫铜箔(带)导电胶带定做,定做紫铜箔(带)导电胶带厂家[价格]-艾飞敏铜箔 | 耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技-耐磨工业软管,PTFE耐腐蚀软管,耐磨喷砂胶管,超耐磨软管厂家,漯河利通液压管利通科技 | 上海中泉泵业制造有限公司-柴油机泵,一体化泵站,柴油机消防泵,泵站,预制一体化泵站 | 洛阳轴承研究所有限公司| 河南反渗透设备-河南EDI超纯水设备-郑州纯净水设备-郑州友邦水处理设备有限公司 | 深圳车牌识别系统厂家_人脸识别厂家_通道闸厂家_车位引导系统_智慧社区管理系统_深圳市利普诺科技有限公司官网 | 全自动沾锡机|端子机|剥线机|昆山市博科鑫源电子设备有限公司 | 一次性妇科用品_一次性医疗用品_一次性口腔器械盒_天津市双利医疗器械有限责任公司 | 深圳人才网_深圳招聘网_【官方网站】| 千斤顶-超薄电动千斤顶-电动液压千斤顶-液压螺母扳手-泰州杰克液压机械制造有限公司 | 磨粉设备_雷蒙磨粉机_雷蒙超细磨| 江苏美鑫食品科技有限公司| 机械配件加工_数控车床加工_零件加工_精密件加工_cnc加工定制—深圳精密机械加工 |