亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
類別和物件
類別和物件的關(guān)係。
#類別的介紹
類別變數(shù)(靜態(tài)變數(shù))
public && private
一些建議和小結(jié)
寫在最後的話
首頁(yè) Java java教程 重點(diǎn)詳解Java類別和對(duì)象

重點(diǎn)詳解Java類別和對(duì)象

Apr 30, 2021 pm 05:21 PM
java 類別和對(duì)象

重點(diǎn)詳解Java類別和對(duì)象

類別和物件

    • 類別和物件的關(guān)係。
    • 類別的介紹
      • 類別變數(shù)(靜態(tài)變數(shù))
    • #public && private
    • 一些建議和小結(jié)
    • 寫在最後的話

類別和物件的關(guān)係。

類其實(shí)就是一個(gè)模板,比如說(shuō)類就好比一張房子的設(shè)計(jì)圖紙,或者說(shuō)是一個(gè)倒印模具,創(chuàng)建一個(gè)類就好比設(shè)計(jì)一張圖紙,刻一個(gè)模板。對(duì)象就好比一座建好的房子,一個(gè)成型的模型,無(wú)疑想要一座房子或一個(gè)模型都先需要一張圖紙和一個(gè)模板,而這就是類和對(duì)象的關(guān)係。

相關(guān)免費(fèi)學(xué)習(xí)推薦:java基礎(chǔ)教學(xué)

#類別的介紹

首先Java裡面的類別由關(guān)鍵字class定義,類別中的元素稱為:成員屬性。類別中的函數(shù)稱為:成員方法。

class?Person?{
????public?int?age;//成員屬性?實(shí)例變量
????public?String?name;
????public?String?sex;
????public?void?eat()?{//成員方法
???????System.out.println("吃飯!");??
???}
????public?void?sleep()?{
???????System.out.println("睡覺(jué)!");??
???}}

如下就是定義一個(gè)類別

class?Person?{
????public?String?name;
????public?String?sex;
????public?int?age;
????//....人的屬性}

然後拿這個(gè)類別建立一個(gè)對(duì)象,然後我們可以透過(guò)點(diǎn)號(hào). 來(lái)存取這個(gè)物件的成員,看下圖

Person?person?=?new?Person();//實(shí)例化一個(gè)對(duì)象

重點(diǎn)詳解Java類別和對(duì)象
可以看到在沒(méi)有賦值之前是會(huì)預(yù)設(shè)賦值為型別相對(duì)應(yīng)的0值。

類型 對(duì)應(yīng)的0值
整數(shù) 0
浮點(diǎn)型 0.0
#字元類型r /u0000
引用類型 null
#

註:這裡之所以有預(yù)設(shè)的0值,是因?yàn)樗麄兌际浅蓡T變量,不屬於局部變量,所以有預(yù)設(shè)值,局部變數(shù)需要自己賦值才能使用。

類別變數(shù)(靜態(tài)變數(shù))

所謂的類別變數(shù)也就是靜態(tài)變量,由關(guān)鍵字static修飾,儲(chǔ)存在方法區(qū),在類別載入的時(shí)候就會(huì)分配空間,所以類別變數(shù)是脫離物件的,就是說(shuō),就算沒(méi)有實(shí)例化物件也是可以使用類別變數(shù)的,看下圖,沒(méi)有物件依然可以透過(guò)類別名稱.變數(shù)名稱 使用類別變數(shù)
重點(diǎn)詳解Java類別和對(duì)象
同樣的,由static修飾的方法也是類別方法也叫靜態(tài)方法,它和類別變數(shù)具有相同的性質(zhì),類別載入時(shí)分配空間,不依賴實(shí)例化的對(duì)象,可以直接透過(guò)類別名稱.函數(shù)名() 呼叫。
如果不是靜態(tài)的變數(shù)和方法,那麼我們就需要先透過(guò)new關(guān)鍵字實(shí)例化一個(gè)物件才可以使用。

public && private

在類別的定義中有許多的存取權(quán)修飾符,而public和private是兩個(gè)最常使用的,顧名思義,public修飾的變數(shù)是公開(kāi)的,所謂的公開(kāi)就是說(shuō)可以直接訪問(wèn),舉個(gè)栗子
重點(diǎn)詳解Java類別和對(duì)象
當(dāng)我們使用public修飾成員變數(shù)時(shí)可以正常使用,透過(guò)點(diǎn)號(hào)訪問(wèn)物件的成員,但是當(dāng)我們使用private修飾的時(shí)候,就會(huì)報(bào)錯(cuò),因?yàn)閜rivate是私有的,只能在目前類別裡面使用,不能被外部引用。
重點(diǎn)詳解Java類別和對(duì)象
如果要其他類別中需要使用的話就需要提供公開(kāi)的接口,給需要使用的類別調(diào)用,簡(jiǎn)單來(lái)講就是,我寫個(gè)公開(kāi)的方法,你把資料透過(guò)方法傳給我,我自己來(lái)操作,例如以下方法,看名字也能知道這些方法的作用,我們來(lái)使用一下這些方法
重點(diǎn)詳解Java類別和對(duì)象
重點(diǎn)詳解Java類別和對(duì)象
可以看到,透過(guò)公開(kāi)的接口我們可以對(duì)私有的成員變數(shù)進(jìn)行一系列的操作,細(xì)心的小夥伴們可能會(huì)發(fā)現(xiàn)在setName等等方法裡面都出現(xiàn)了this.變數(shù)名稱那麼這個(gè)是什麼呢,this其實(shí)是一個(gè)關(guān)鍵字,表示當(dāng)前方法的引用,那麼為什麼要有這個(gè)關(guān)鍵字呢,那是因?yàn)楫?dāng)變數(shù)名稱相同時(shí),局部變數(shù)有限使用,可能會(huì)導(dǎo)致無(wú)法賦值等情況,看下圖,當(dāng)去掉this之後,名字明顯為初始值,這就是因?yàn)榫植孔償?shù)優(yōu)先使用的原因,導(dǎo)致類別裡面的成員變數(shù)沒(méi)有被賦值。
重點(diǎn)詳解Java類別和對(duì)象

一些建議和小結(jié)

1.建議實(shí)作類別的時(shí)候?qū)⒊蓡T變數(shù)盡量設(shè)定為private屬性,防止資料被直接竄改,而方法非必要公開(kāi)的介面也設(shè)定為private屬性的,具體根據(jù)實(shí)際情況來(lái)定

2.變數(shù)名稱和方法名稱使用小駝峰命名規(guī)則,盡量做到見(jiàn)名知意,做不到應(yīng)該給上適當(dāng)?shù)闹形脑]釋,幫助其他人理解程式碼的意思

3.static修飾的程式碼和程式碼區(qū)塊優(yōu)先於任何程式碼執(zhí)行

4.一個(gè)類別可以創(chuàng)建多個(gè)對(duì)象,很好理解,一張圖紙可以建造多棟相同的房子,例如小區(qū)的樓房就是一張圖紙建造出來(lái)的

5.在實(shí)例化一個(gè)物件的時(shí)候會(huì)調(diào)用一個(gè)構(gòu)造方法,所謂的構(gòu)造方法就一個(gè)名字與類名相同的方法,可以帶參數(shù),沒(méi)有回傳值類型聲明,並且如果你沒(méi)有定義的話,編譯器就會(huì)自動(dòng)實(shí)作一個(gè)不帶參數(shù)的建構(gòu)方法,如果你定義了,那麼編譯器就不會(huì)自動(dòng)產(chǎn)生。而構(gòu)造方法也是支援重載的,構(gòu)造方法的用處之一就是可以在創(chuàng)建物件的時(shí)候就進(jìn)行賦值。
重點(diǎn)詳解Java類別和對(duì)象
重點(diǎn)詳解Java類別和對(duì)象
加上一句this.name ,就可以不需要setname了,只需要?jiǎng)?chuàng)建物件的時(shí)候,直接傳參即可,其他的部落客就不在贅述了。
重點(diǎn)詳解Java類別和對(duì)象

重點(diǎn)詳解Java類別和對(duì)象

寫在最後的話

以上就是博主這段時(shí)間的學(xué)習(xí)內(nèi)容,今天分享就到這裡了,如果文章中有表達(dá)不清楚或者表述有錯(cuò)誤的地方歡迎評(píng)論或者私信指出,部落客會(huì)及時(shí)處理,好了這篇部落格就到此結(jié)束了,我們下篇部落格見(jiàn)。

本文轉(zhuǎn)載自:https://blog.csdn.net/JunFengYiHan/article/details/116066556

作者:JunFengYiHan

#

以上是重點(diǎn)詳解Java類別和對(duì)象的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級(jí)或工作區(qū)級(jí)路徑,用於自定義VSCode設(shè)置。 1.用戶級(jí)路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級(jí)路徑:項(xiàng)目根目錄下的.vscode/settings

如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動(dòng)提交模式,再執(zhí)行多個(gè)操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開(kāi)始事務(wù);2.執(zhí)行多個(gè)SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時(shí)應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

在Java的掌握依賴注入春季和Guice 在Java的掌握依賴注入春季和Guice Aug 01, 2025 am 05:53 AM

依賴性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

了解Java虛擬機(jī)(JVM)內(nèi)部 了解Java虛擬機(jī)(JVM)內(nèi)部 Aug 01, 2025 am 06:31 AM

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類替代舊的Date和Calendar類;2.通過(guò)LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時(shí)間;3.使用of()方法創(chuàng)建特定日期時(shí)間;4.利用plus/minus方法不可變地增減時(shí)間;5.使用ZonedDateTime和ZoneId處理時(shí)區(qū);6.通過(guò)DateTimeFormatter格式化和解析日期字符串;7.必要時(shí)通過(guò)Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

Google Chrome無(wú)法打開(kāi)本地文件 Google Chrome無(wú)法打開(kāi)本地文件 Aug 01, 2025 am 05:24 AM

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

了解網(wǎng)絡(luò)端口和防火牆 了解網(wǎng)絡(luò)端口和防火牆 Aug 01, 2025 am 06:40 AM

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c

比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

See all articles