中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

如何在java中實(shí)現(xiàn)方法重寫-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)專注于富縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。富縣網(wǎng)站建設(shè)公司,為富縣等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

這篇文章將為大家詳細(xì)講解有關(guān)如何在java中實(shí)現(xiàn)方法重寫,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

在java中方法的重寫是建立在java類的三大特性之一:繼承性的基礎(chǔ)之上的,沒有繼承性也就不能談方法的重寫。方法的重寫是當(dāng)程序中父類的某一個(gè)方法并不能滿足子類的需求時(shí),子類可以重新定義該方法的內(nèi)容與功能來(lái)滿足子類的需求的一種操作。那么方法的重寫具體是如何通過代碼來(lái)實(shí)現(xiàn)的呢,下面博主就帶大家一探究竟。

(1)定義一個(gè)多邊形類

class Polygon{
//屬性
private int number_side;
//構(gòu)造器
public Polygon(int number_side) {
super();
this.number_side = number_side;
}
//方法
public int getNumber_side() {
return number_side;
}
public void setNumber_side(int number_side) {
this.number_side = number_side;
}
public void show(){
System.out.println("Number_side is " + this.number_side);
}
}

在這個(gè)類中除了get和set方法之外,還有一個(gè)可以輸出多邊形邊數(shù)的show方法。

(2)定義一個(gè)正方形類繼承于多邊形類

class square extends Polygon{
//屬性
private double length; 
//構(gòu)造器
public square(double length, int number_side) {
super(number_side);
this.length = length;
}
//方法
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
//輸出邊數(shù)和邊長(zhǎng)
public void show(){
System.out.println("This is a square");
super.show();
System.out.println("Length is " + this.length);
}
}

??可以看到,子類square中仍然有一個(gè)show方法,但是方法的功能和語(yǔ)句卻與其父類中的show方法大相徑庭。因?yàn)椋谧宇恠quare中,子類square的show方法的功能不僅要能實(shí)現(xiàn)對(duì)邊數(shù)的輸出,更要實(shí)現(xiàn)對(duì)邊長(zhǎng)的輸出,所以此時(shí)父類的show方法并不能滿足子類的需求了,開發(fā)者應(yīng)該重新編寫一個(gè)show方法來(lái)滿足子類的需求,這就是java中的方法重寫。

??在實(shí)際的開發(fā)過程中,應(yīng)用到方法重寫的操作還有其他的很多種情況,接下來(lái)本文將列舉幾個(gè)比較常用的方法重寫。

??在java的java.lang包下有一個(gè)類,名為Object。Object了是比較特殊的類,該類是所有類的父類。當(dāng)我們創(chuàng)建一個(gè)類時(shí),如果沒有聲明繼承于我們自己創(chuàng)建的類,那么就繼承于Object,只不過java里省略了extends Object關(guān)鍵字。Object類中有兩個(gè)經(jīng)常使用到的方法:1.toString()方法;2.equals()方法。這兩種方法在開發(fā)者創(chuàng)建的類中經(jīng)常被重寫。

1、toString()方法

toString()方法的功能是將一個(gè)對(duì)象以字符串的形式返回。例如:

Polygon p = new Polygon(3);
System.out.println(p.toString());

這里調(diào)用的toString()方法是Object類中的toString()方法。

如何在java中實(shí)現(xiàn)方法重寫

輸出為:

如何在java中實(shí)現(xiàn)方法重寫

由此可見:當(dāng)調(diào)用Object類中的toString()方法時(shí)返回的是一個(gè)字符串形式的對(duì)象,即該對(duì)象的地址。

在實(shí)際的應(yīng)用中通常重寫toString()方法,為對(duì)象提供一個(gè)特定的字符串輸出模式,例如:

public class Test {
public static void main(String[] args) {
Polygon p = new Polygon(3);
System.out.println(p.toString());
}
}
class Polygon{
//屬性
private int number_side;
//構(gòu)造器
public Polygon(int number_side) {
super();
this.number_side = number_side;
}
//..................................此處省略其他無(wú)關(guān)的方法
@Override
public String toString() {
return "Polygon [number_side=" + number_side + "]";

在多邊形類Polygon中重寫了toString()方法,在main方法中我們創(chuàng)建一個(gè)Polygon的對(duì)象p并實(shí)例化,調(diào)用Polygon中重寫的toString()方法。

如何在java中實(shí)現(xiàn)方法重寫

此時(shí)系統(tǒng)輸出字符串形式的Polygon類名和其屬性。

如何在java中實(shí)現(xiàn)方法重寫

2、equals()方法

equals()方法在Object類中的具體體現(xiàn)是怎樣的呢?它的功能又是什么呢?老規(guī)矩,直接上代碼。

public boolean equals(Object obj) {
        return (this == obj);
    }

這是源代碼中Object類的equals()方法的具體實(shí)現(xiàn),這樣我們便知道,Object中equals()方法的功能是比較兩個(gè)對(duì)象的引用是否相等。當(dāng)我們調(diào)用Object類中的equals()方法時(shí):

public class Test {
public static void main(String[] args) {
square s1 = new square(5.2,4);
square s2 = new square(5.2,4);
System.out.println(s1.equals(s2));
}
}

系統(tǒng)的輸出為:

如何在java中實(shí)現(xiàn)方法重寫

然后我們重寫square類中的equals()方法

public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
square other = (square) obj;
if (Double.doubleToLongBits(length) != Double
.doubleToLongBits(other.length))
return false;
return true;
}

再次調(diào)用square類中的equals()方法時(shí)

public class Test {
public static void main(String[] args) {
square s1 = new square(5.2,4);
square s2 = new square(5.2,4);
System.out.println(s1.equals(s2));
}
}

系統(tǒng)的輸出為:

如何在java中實(shí)現(xiàn)方法重寫

相比之前的fasle,此時(shí)輸出true是因?yàn)橹貙懥?code>equals()方法,而重寫的equals()方法比較的是兩個(gè)對(duì)象的實(shí)際內(nèi)容,即兩個(gè)對(duì)象的屬性(注意:equals()方法并不比較兩個(gè)對(duì)象的方法,因?yàn)闊o(wú)意義),相等就輸出true。

關(guān)于如何在java中實(shí)現(xiàn)方法重寫就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享題目:如何在java中實(shí)現(xiàn)方法重寫-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://www.2m8n56k.cn/article48/dhscep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作用戶體驗(yàn)定制開發(fā)App設(shè)計(jì)Google自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
主站蜘蛛池模板: 国产成人精品视频一区 | 国产主播福利精品一区二区 | 久草在线看 | 欧美日韩精品一区二区另类 | free性欧美嫩交 | 国产激情视频在线播放 | 最新69成人精品毛片 | 永久天堂 | 亚洲精品第一第二区 | 成人在线观看不卡 | 国产精品3| 日本一级毛片免费 | 成人久久18免费游戏网站 | 欧美一级在线全免费 | 国产香蕉成人综合精品视频 | 波多野结衣一区二区在线 | 亚洲欧美国产日韩天堂在线视 | 国产在线观看免费 | 欧美满嘴射 | 国产精品欧美一区二区三区不卡 | 国产欧美一区二区三区视频 | 成 人 a v黄 色 | 国产色a| 午夜精品久久久久久毛片 | 欧美精品久久一区二区三区 | 欧美一级三级 | 亚洲一区网站 | 免费黄色在线网址 | 亚洲日本一区二区三区 | 成人在线免费播放 | 亚洲欧美日韩国产精品久久 | 精品欧美高清不卡在线 | 国产原创在线视频 | 自拍自录videosfree自拍自录 | 俄罗斯特级毛片 | 三级带黄色| 国产成人影院一区二区 | 中文字幕日韩精品有码视频 | 久草国产在线观看 | 久久九九国产精品怡红院 | 日本aaaa片毛片免费 |