java之構(gòu)造器的重載問題
java構(gòu)造器的重載
下面給大家講一些java中的基礎(chǔ)面向?qū)ο螅覀儊砹私庖幌率裁词敲嫦驅(qū)ο?;?duì)象和類有什么區(qū)別。
對(duì)象和類的概念
對(duì)象:對(duì)象是類的實(shí)例,有狀態(tài)和行為。
例如:
一條狗是對(duì)象,它的狀態(tài)有:顏色、名字、品種;
行為有:搖尾巴、叫、吃等等。
類:類是一個(gè)模板,它描述一類對(duì)象的行為和狀態(tài)。
首先講java中的類。
修飾符可以為public final abstract 或者不寫;類名:使用大駝峰命名。
使用對(duì)象構(gòu)造器,構(gòu)造器也叫構(gòu)造方法或者構(gòu)造函數(shù),構(gòu)造器與類名相同,沒有返回值,不能使用void;名稱與類名相同,沒有返回值,不能寫void;如果類中沒有手動(dòng)添加構(gòu)造器,編譯器會(huì)默認(rèn)再添加一個(gè)無參構(gòu)造器。
如果手動(dòng)添加構(gòu)造器,那么默認(rèn)的構(gòu)造器就會(huì)消失;構(gòu)造器是可以重載的。
見代碼圖1:

圖1
成員變量:成員變量是定義在類中的,方法體之外的變量。
這種 變量在創(chuàng)建對(duì)象的時(shí)候?qū)嵗?/p>
成員變量可以被類中方法、構(gòu)造方法和特定類的語句塊訪問。
修飾符(public protected private)三選一、static、final;
見代碼圖2:

圖2
方法:java方法是語句的集合,它們?cè)谝黄饒?zhí)行一個(gè)功能;
方法是解決一類問題的步驟的有序組合,包含于類或?qū)ο笾?,在程序中被?chuàng)建,在其他地方被引用。
修飾符(public protected private)三選一、static、final、synchronize、native;
見代碼圖3:

圖3
然后創(chuàng)建對(duì)象,對(duì)象是根據(jù)類創(chuàng)建的。
在java中,使用關(guān)鍵字new來創(chuàng)建一個(gè)新的對(duì)象。
創(chuàng)建對(duì)象需要三步:第一聲明:聲明一個(gè)對(duì)象,包括對(duì)象名稱和對(duì)象類型。
第二實(shí)例化:使用關(guān)鍵字new來創(chuàng)建一個(gè)對(duì)象,只是為對(duì)象在內(nèi)存中開辟空間。
第三初始化:使用new創(chuàng)建對(duì)象時(shí),會(huì)調(diào)用構(gòu)造方法初始化對(duì)象,對(duì)象中的值賦初始化值。
見代碼圖4:

圖4
Java變量的分類為兩種:
一種成員變量、另一種局部變量;

方法的重載:重載是在一個(gè)類里面,方法名字相同,而參數(shù)不同。
返回類型可以相同也可以不同。
每個(gè)重載的方法(或者構(gòu)造函數(shù))都必須有一個(gè)獨(dú)一無二的參數(shù)類型列表;最常用的地方就是構(gòu)造器的重載。
被重載的方法必須形參列表不一樣(參數(shù)個(gè)數(shù)或類型不一樣);可以改變返回類型;可以改變?cè)L問修飾符;可以聲明新的或更廣的檢查異常;方法能夠在同一個(gè)類中或者在一個(gè)子類中被重載。
返回值類型不能作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)。
見代碼圖5:

圖5
在面向?qū)ο蟪淌皆O(shè)計(jì)方法中,封裝是指一種將抽象性函式接口的實(shí)現(xiàn)細(xì)節(jié)部分包裝、隱藏起來的方法。
封裝可以被認(rèn)為是一個(gè)保護(hù)屏障,防止該類的代碼和數(shù)據(jù)被外部類定義的代碼隨機(jī)訪問。
要訪問該類的代碼和數(shù)據(jù),必須通過嚴(yán)格的接口控制。
適當(dāng)?shù)姆庋b可以讓程式碼更容易理解與維護(hù),也加強(qiáng)了程式碼的安全性。
封裝的優(yōu)點(diǎn)有:良好的封裝能夠減少耦合。
類內(nèi)部的結(jié)構(gòu)可以自由修改。
可以對(duì)成員變量進(jìn)行更精確的控制。
隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。
Java封裝的步驟:修改屬性的可見性來限制對(duì)屬性的訪問(一般限制為private),對(duì)每個(gè)值屬性提供對(duì)外的公共方法訪問,也就是創(chuàng)建getter和setter方法(將實(shí)例變量的首字母大寫,在前面添加get或者set, 變成getter和setter方法名);
見代碼圖6:

圖6
聲明類名,將執(zhí)行出的結(jié)果;見圖7:

圖7
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中優(yōu)化Undertow性能的方法總結(jié)
Undertow是一個(gè)采用 Java 開發(fā)的靈活的高性能Web服務(wù)器,提供包括阻塞和基于NIO的非堵塞機(jī)制,本文將給大家介紹SpringBoot中優(yōu)化Undertow性能的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08
SpringCloud Ribbon負(fù)載均衡實(shí)例解析
這篇文章主要介紹了SpringCloud Ribbon負(fù)載均衡實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
mybatis實(shí)現(xiàn)動(dòng)態(tài)升降序的問題小結(jié)
文章介紹了如何在MyBatis的XML文件中實(shí)現(xiàn)動(dòng)態(tài)排序,使用$符號(hào)而不是#符號(hào)來引用變量,以避免SQL注入,同時(shí),強(qiáng)調(diào)了在Java代碼中進(jìn)行防注入處理的重要性,感興趣的朋友一起看看吧2025-02-02
java連接postgresql數(shù)據(jù)庫代碼及maven配置方式
這篇文章主要介紹了java連接postgresql數(shù)據(jù)庫代碼及maven配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
SpringBoot攔截器excludePathPatterns方法不生效的解決方案
這篇文章主要介紹了SpringBoot攔截器excludePathPatterns方法不生效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
MybatisPlus實(shí)現(xiàn)數(shù)據(jù)攔截的使用示例
在MyBatis-Plus中,可以通過自定義攔截器來實(shí)現(xiàn)對(duì)SQL語句的攔截和修改,本文就來介紹一下如何使用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
MyBatis查詢數(shù)據(jù),賦值給List集合時(shí),數(shù)據(jù)缺少的問題及解決
這篇文章主要介紹了MyBatis查詢數(shù)據(jù),賦值給List集合時(shí),數(shù)據(jù)缺少的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Java8深入學(xué)習(xí)系列(三)你可能忽略了的新特性
一提到Java 8就只能聽到lambda,但這不過是其中的一個(gè)而已,Java 8還有許多新的特性,有一些功能強(qiáng)大的新類或者新的用法,還有一些功能則是早就應(yīng)該加到Java里了,所以下面這篇文章主要給大家介紹了關(guān)于Java8中大家可能忽略了的一些新特性,需要的朋友可以參考下。2017-08-08
Spring MVC實(shí)現(xiàn)一次簡單的CRUD示例
這篇文章主要介紹了Spring MVC實(shí)現(xiàn)一次簡單的CRUD示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08

