Java重載構(gòu)造原理與用法詳解
本文實(shí)例講述了Java重載構(gòu)造原理與用法。分享給大家供大家參考,具體如下:
帶參數(shù)方法
【1】無參數(shù),無返回值
void 方法名(){方法體;}
【2】無參數(shù),有返回值
int 方法名(){方法體;}
【3】有參數(shù),無返回值
void 方法名(int num){方法體;}
【4】有參數(shù),有返回值
int 方法名(int num){方法體;}
可變參數(shù)與數(shù)組參數(shù)的區(qū)別
【1】可變參數(shù)傳參靈活,,可以無參,可以多個(gè)參數(shù),可以數(shù)組;
數(shù)組參數(shù)只能傳遞數(shù)組
【2】可變參數(shù)必須放在最后
數(shù)組可以放在任意位置
【3】可變參數(shù)只能有一個(gè);
數(shù)組參數(shù)可以有多個(gè)。
遞歸算法
遞歸:程序調(diào)用自身的算法。
條件:1.調(diào)用方法本身。
2.出口
嵌套for循環(huán) 和 用遞歸實(shí)現(xiàn) 的比較
棧 主要是用來存放棧幀的,每執(zhí)行一個(gè)方法就會(huì)出現(xiàn)壓棧操作,所以采用遞歸的時(shí)候產(chǎn)生的棧幀比較多,遞歸就會(huì)影響到內(nèi)存,非常消耗內(nèi)存,而使用for循環(huán)就執(zhí)行了一個(gè)方法,壓入棧幀一次,只存在一個(gè)棧幀,所以比較節(jié)省內(nèi)存。
封裝
封裝定義:隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共的訪問方式。
使用封裝的好處
1、良好的封裝能夠減少耦合。
2、類內(nèi)部的結(jié)構(gòu)可以自由修改。
3、可以對(duì)成員進(jìn)行更精確的控制。
4、隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。
public class Husband {
/*
* 對(duì)屬性的封裝
* 一個(gè)人的姓名、性別、年齡、妻子都是這個(gè)人的私有屬性
*/
private String name ;
private String sex ;
private int age ;
private Wife wife;
/*
* setter()、getter()是該對(duì)象對(duì)外開發(fā)的接口
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setWife(Wife wife) {
this.wife = wife;
}
}
方法重載
在一個(gè)類中,方法名相同,參數(shù)列表(個(gè)數(shù),順序,類型)不同。與返回值無關(guān)。
作用:方便記憶和使用。
重載方法不同的方式
在java中重載方法有三種方式,它們分別是:
- 通過改變參數(shù)的數(shù)量
- 通過更改數(shù)據(jù)類型
- 通過改變參數(shù)排列順序
注意:在java中,只通過更改方法的返回類型來實(shí)現(xiàn)方法重載是不可以的。
構(gòu)造器
系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)構(gòu)造方法(構(gòu)造器)默認(rèn)構(gòu)造。
如果沒有顯示的定義構(gòu)造器,那么系統(tǒng)會(huì)自動(dòng)定義一個(gè)構(gòu)造器,叫默認(rèn)構(gòu)造器。
可以顯示定義構(gòu)造器,只要顯示定義了構(gòu)造器,那么系統(tǒng)調(diào)用的是顯示定義的構(gòu)造器
無參構(gòu)造,只能在創(chuàng)建對(duì)象的時(shí)候才能調(diào)用
注意:1.沒有任何返回值
2.名字和類名必須一致
作用:初始化對(duì)象。
構(gòu)造器和訪問器的區(qū)別
1.構(gòu)造器 創(chuàng)建完對(duì)象,所有的屬性都初始化完成、
訪問器不能。
2.構(gòu)造器 創(chuàng)建對(duì)象的時(shí)候初始化,可以一次給所有屬性初始化
訪問器需要在創(chuàng)建對(duì)象后,逐個(gè)調(diào)用賦值
3.創(chuàng)建對(duì)象后,想要修改屬性值那么需要用訪問器。
構(gòu)造器和普通方法的區(qū)別
1.構(gòu)造器就是用來初始化對(duì)象的。
普通方法是為了完成某個(gè)特定的功能
2.構(gòu)造器只能在創(chuàng)建對(duì)象的時(shí)候調(diào)用new
普通方法在使用的時(shí)候可以隨意調(diào)用,不調(diào)用就不執(zhí)行
初始化對(duì)象
1.成員變量默認(rèn)初始化
2.聲明處初始化或構(gòu)造塊初始化
3.構(gòu)造器初始化
構(gòu)造塊
定義:在類中
class 類名{
{
構(gòu)造塊:
作用:解決構(gòu)造器中的屬性值相同,代碼重用的問題。
}
}
本類構(gòu)造器調(diào)用
this();//
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java7之forkjoin簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Java7引入了Fork Join的概念,來更好的支持并行運(yùn)算。接下來通過本文給大家分享Java7之forkjoin簡(jiǎn)介,感興趣的朋友一起看看吧2017-06-06
解析Java中的隊(duì)列和用LinkedList集合模擬隊(duì)列的方法
這篇文章主要介紹了解析Java中的隊(duì)列和用LinkedList集合模擬隊(duì)列的方法,相關(guān)算法的實(shí)現(xiàn)也是ACM中的常見題目,需要的朋友可以參考下2015-08-08
springboot實(shí)現(xiàn)SSE(Server?Sent?Event)的示例代碼
SSE?全稱Server?Sent?Event,直譯一下就是服務(wù)器發(fā)送事件,本文主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)SSE的相關(guān)知識(shí),需要的可以參考一下2024-04-04
springboot結(jié)合vue實(shí)現(xiàn)增刪改查及分頁查詢
本文主要介紹了springboot結(jié)合vue實(shí)現(xiàn)增刪改查及分頁查詢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Ubuntu安裝jenkins完成自動(dòng)化構(gòu)建詳細(xì)步驟
Jenkins是一個(gè)開源的自動(dòng)化服務(wù)器,可以用來輕松地建立持續(xù)集成和持續(xù)交付(CI/CD)管道,這篇文章主要給大家介紹了關(guān)于Ubuntu安裝jenkins完成自動(dòng)化構(gòu)建的相關(guān)資料,需要的朋友可以參考下2024-03-03
Java基于Session登錄驗(yàn)證的實(shí)現(xiàn)示例
基于Session的登錄驗(yàn)證方式是最簡(jiǎn)單的一種登錄校驗(yàn)方式,本文主要介紹了Java基于Session登錄驗(yàn)證的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
Spring?Data?JPA?注解Entity關(guān)聯(lián)關(guān)系使用詳解
這篇文章主要為大家介紹了Spring?Data?JPA?注解Entity關(guān)聯(lián)關(guān)系使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
這篇文章主要介紹了如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
使用SpringBoot + Redis + Vue實(shí)現(xiàn)動(dòng)態(tài)路由加載頁面的示例代
在現(xiàn)代 Web 應(yīng)用開發(fā)中,動(dòng)態(tài)路由加載能夠顯著提升應(yīng)用的靈活性和安全性,本文將深入探討如何利用 Spring Boot、Redis、Element UI 和 Vue 技術(shù)棧實(shí)現(xiàn)動(dòng)態(tài)路由加載,并通過 Redis 生成和驗(yàn)證有效鏈接以實(shí)現(xiàn)頁面訪問控制,需要的朋友可以參考下2024-09-09

