詳解java自定義類(lèi)
引用數(shù)據(jù)類(lèi)型(類(lèi))
引用數(shù)據(jù)類(lèi)型分類(lèi)
提到引用數(shù)據(jù)類(lèi)型(類(lèi)),其實(shí)我們對(duì)它并不陌生,之前使用過(guò)的Scanner類(lèi)、Random類(lèi)。
我們可以把類(lèi)的類(lèi)型為兩種:
第一種,Java為我們提供好的類(lèi),如Scanner類(lèi),Random類(lèi)等,這些已存在的類(lèi)中包含了很多的方法與屬性,可供我們使用。
第二種,我們自己創(chuàng)建的類(lèi),按照類(lèi)的定義標(biāo)準(zhǔn),可以在類(lèi)中包含多個(gè)方法與屬性,來(lái)供我們使用。
這里我們主要介紹第二種情況的簡(jiǎn)單使用。
自定義數(shù)據(jù)類(lèi)型概述
我們?cè)贘ava中,將現(xiàn)實(shí)生活中的事物抽象成了代碼。這時(shí),我們可以使用自定義的數(shù)據(jù)類(lèi)型(類(lèi))來(lái)描述(映射)現(xiàn)實(shí)生活中的事物。
類(lèi),它是引用數(shù)據(jù)類(lèi)型,與之前學(xué)習(xí)的所有引用數(shù)據(jù)類(lèi)型相同,自定義類(lèi)也是一種數(shù)據(jù)類(lèi)型。只是自定義類(lèi)型并非Java為我們預(yù)先提供好的類(lèi)型,而是我們自己定義的一種引用數(shù)據(jù)類(lèi)型用來(lái)描述一個(gè)事物。
類(lèi)的定義與使用
java代碼映射成現(xiàn)實(shí)事物的過(guò)程就是定義類(lèi)的過(guò)程。
我們就拿一部手機(jī)進(jìn)行分析,它能用來(lái)做什么呢?它可以打電話,上網(wǎng),聊微信等,這些就是手機(jī)所提供的功能,也就是方法;手機(jī)也有它的特征,如顏色、尺寸大小、品牌型號(hào)等,這些就是手機(jī)的特征,也就是屬性。
目前,我們只關(guān)注類(lèi)中的屬性.
類(lèi)的定義格式
創(chuàng)建java文件,與類(lèi)名相同 public class 類(lèi)名{ 數(shù)據(jù)類(lèi)型 屬性名稱(chēng)1; 數(shù)據(jù)類(lèi)型 屬性名稱(chēng)2; … }
通過(guò)類(lèi)的定義格式,來(lái)進(jìn)行手機(jī)類(lèi)的描述,如下所示
public class Phone { /* * 屬性 */ String brand;// 品牌型號(hào) String color;// 顏色 double size; // 尺寸大小 }
上述代碼,就是創(chuàng)建一個(gè)類(lèi)的的過(guò)程,類(lèi)的名稱(chēng)我們給起名為Phone,類(lèi)中包含了三個(gè)屬性(brand品牌型號(hào)、color顏色、size尺寸大?。?。注意,類(lèi)中定義的屬性沒(méi)有個(gè)數(shù)要求。
類(lèi)的使用格式
Phone類(lèi)定義好后,我們就可以使用這個(gè)類(lèi)了,使用方式和使用引用數(shù)據(jù)類(lèi)型Scanner類(lèi)相似。格式如下:
導(dǎo)包:我們將所有的類(lèi)放到同一個(gè)文件夾下,可以避免導(dǎo)包。
創(chuàng)建對(duì)象:數(shù)據(jù)類(lèi)型 變量名 = new
數(shù)據(jù)類(lèi)型();
調(diào)用方法:目前我們定義的自定義類(lèi)不涉及方法,只是屬性(自定義類(lèi)中的方法部分在面向?qū)ο蟛糠种v解)
訪問(wèn)屬性:變量名.屬性 (這是當(dāng)前的方式,后期會(huì)采取調(diào)用方法的方式替代掉直接訪問(wèn)的方式來(lái)完成對(duì)屬性的訪問(wèn)。)
當(dāng)有了Phone數(shù)據(jù)類(lèi)型的變量后,我們就可以使用Phone類(lèi)中的屬性了。對(duì)屬性的訪問(wèn)我們來(lái)演示一下,如下所示:
public class Test { public static void main(String[] args) { //定義了一個(gè)Phone類(lèi)型的變量p Phone p = new Phone(); /* * 通過(guò)p,使用Phone中的屬性 */ //訪問(wèn)p中的brand品牌屬性 p.brand = "蘋(píng)果X"; //訪問(wèn)p中的color顏色屬性 p.color = "白色"; //訪問(wèn)p中的size尺寸大小屬性 p.size = 6.5; System.out.println("手機(jī)品牌為" + p.brand ); System.out.println("手機(jī)顏色為" + p.color ); System.out.println("手機(jī)尺寸大小為" + p.size ); } }
自定義類(lèi)型注意事項(xiàng)與內(nèi)存圖
上述代碼中,通過(guò)類(lèi)Phone創(chuàng)建出來(lái)的變量p,它相當(dāng)于我們生活中的盒子,里面包含了它能夠使用的屬性。
通過(guò) p.屬性名 就可以對(duì)屬性進(jìn)行操作
與引用類(lèi)型數(shù)組類(lèi)似,引用類(lèi)型的自定義類(lèi)型的變量,直接變量時(shí),結(jié)果為對(duì)象地址值,這里可以通過(guò)內(nèi)存圖簡(jiǎn)單解釋。
以上就是詳解java自定義類(lèi)的詳細(xì)內(nèi)容,更多關(guān)于java自定義類(lèi)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Mybatis調(diào)用SQL?Server存儲(chǔ)過(guò)程的實(shí)現(xiàn)示例
在軟件開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)使用到存儲(chǔ)過(guò)程,本文就來(lái)介紹一下Mybatis調(diào)用SQL?Server存儲(chǔ)過(guò)程的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01maven-assembly-plugin報(bào)紅無(wú)法加載報(bào)錯(cuò):Plugin?‘maven-assembly-plugin
maven-assembly-plugin是一個(gè)常用的打包插件,但是在使用過(guò)程中經(jīng)常會(huì)遇到各種報(bào)錯(cuò),本文就來(lái)介紹一下maven-assembly-plugin報(bào)紅無(wú)法加載報(bào)錯(cuò),具有一定的參考價(jià)值2023-08-08Java中一個(gè)線程執(zhí)行死循環(huán)有什么后果
這篇文章主要為大家詳細(xì)介紹了Java中一個(gè)線程執(zhí)行死循環(huán)有什么后果,當(dāng)一個(gè)線程在執(zhí)行死循環(huán)時(shí)會(huì)影響另外一個(gè)線程嗎,下面為大家揭曉2016-05-05解決Nacos集群?jiǎn)?dòng)失敗:java版本問(wèn)題
這篇文章主要介紹了解決Nacos集群?jiǎn)?dòng)失敗:java版本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Java實(shí)現(xiàn)OJ多組測(cè)試數(shù)據(jù)的輸入方法
今天小編就為大家分享一篇Java實(shí)現(xiàn)OJ多組測(cè)試數(shù)據(jù)的輸入方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07如何實(shí)現(xiàn)Java監(jiān)聽(tīng)器詳解
今天帶大家了解Java監(jiān)聽(tīng)器是如何實(shí)現(xiàn)的及實(shí)現(xiàn)原理是什么,文中有非常詳細(xì)的說(shuō)明,對(duì)正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06Java編程調(diào)用微信接口實(shí)現(xiàn)圖文信息推送功能
這篇文章主要介紹了Java編程調(diào)用微信接口實(shí)現(xiàn)圖文信息等推送功能,涉及java微信圖文信息推送接口調(diào)用及相關(guān)文件、字符串編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08