大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java教程
Java標(biāo)識(shí)符與關(guān)鍵字
Java變量
Java數(shù)據(jù)類型
Java運(yùn)算符
Java控制語(yǔ)句
Java方法

Java如何繼承

java中繼承的語(yǔ)法格式:

class 類名 extends 父類名{

類體;

}
為什么需要繼承,接下來(lái)我們用以下這個(gè)需求來(lái)說(shuō)明一下:
public class Account { //銀行賬戶類
	//賬號(hào)
	private String actno;
	//余額
	private double balance;
	//賬號(hào)和余額的set和get方法
	public String getActno() {
		return actno;
	}
	public void setActno(String actno) {
		this.actno = actno;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
}
public class CreditAccount { //信用賬戶類
	//賬號(hào)
	private String actno;
	//余額
	private double balance;
	//賬號(hào)和余額的set和get方法
	public String getActno() {
		return actno;
	}
	public void setActno(String actno) {
		this.actno = actno;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
	//信譽(yù)度(特有屬性)
	private double credit;
	//信譽(yù)度的set和get方法
	public double getCredit() {
		return credit;
	}
	public void setCredit(double credit) {
		this.credit = credit;
	}
}
以上兩個(gè)類分別描述了“銀行賬戶類”和“信用賬戶類”,信用賬戶類除了具有銀行賬戶類的特征之外還有自己的特性,按照以上代碼的編寫方式,程序?qū)?huì)非常的臃腫,我們將上面的程序修改為繼承方式,請(qǐng)看代碼:
public class Account { //銀行賬戶類
	//賬號(hào)
	private String actno;
	//余額
	private double balance;
	//賬號(hào)和余額的set和get方法
	public String getActno() {
		return actno;
	}
	public void setActno(String actno) {
		this.actno = actno;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
}
public class CreditAccount extends Account{ //信用賬戶類
	//信譽(yù)度(特有屬性)
	private double credit;
	//信譽(yù)度的set和get方法
	public double getCredit() {
		return credit;
	}
	public void setCredit(double credit) {
		this.credit = credit;
	}
}
public class AccountTest {
	public static void main(String[] args) {
		CreditAccount act = new CreditAccount();
		act.setActno("111111111");
		act.setBalance(9000.0);
		System.out.println(act.getActno() + "信用賬戶,余額" + act.getBalance() + "元");
	}
}
運(yùn)行結(jié)果如下圖所示:

Java繼承

圖12-2:繼承測(cè)試

通過(guò)以上的代碼,我們可以看到繼承是可以解決代碼臃腫問(wèn)題的,換句話說(shuō),繼承解決了代碼復(fù)用的問(wèn)題,但這其實(shí)并不是繼承最重要的作用,繼承最重要的作用是:有了繼承才有了方法覆蓋和多態(tài)(后續(xù)的課程中詳細(xì)講解)。

繼承有哪些特性呢?以下內(nèi)容需要記憶:

● B類繼承A類,則稱A類為超類(superclass)、父類、基類,B類則稱為子類(subclass)、派生類、擴(kuò)展類。

● java中的繼承只支持單繼承,不支持多繼承,C++中支持多繼承,這也是java體現(xiàn)簡(jiǎn)單性的一點(diǎn),換句話說(shuō),java中不允許這樣寫代碼:class B extends A,C{ }。

● 雖然java中不支持多繼承,但有的時(shí)候會(huì)產(chǎn)生間接繼承的效果,例如:class C extends B,class B extends A,也就是說(shuō),C直接繼承B,其實(shí)C還間接繼承A。

● java中規(guī)定,子類繼承父類,除構(gòu)造方法和被private修飾的數(shù)據(jù)不能繼承外,剩下都可以繼承。

● java中的類沒(méi)有顯示的繼承任何類,則默認(rèn)繼承Object類,Object類是java語(yǔ)言提供的根類(老祖宗類),也就是說(shuō),一個(gè)對(duì)象與生俱來(lái)就有Object類型中所有的特征。

● 繼承也存在一些缺點(diǎn),例如:CreditAccount類繼承Account類會(huì)導(dǎo)致它們之間的耦合度非常高,Account類發(fā)生改變之后會(huì)馬上影響到CreditAccount類。

接下來(lái)我們來(lái)測(cè)試一下從Object類中繼承過(guò)來(lái)的方法,先來(lái)看一下Object類的部分源代碼:

Java繼承

圖12-3:Object類中toString()方法源代碼

我們來(lái)嘗試調(diào)用這個(gè)方法,請(qǐng)看代碼以及執(zhí)行結(jié)果:

public class ExtendsTest{
	public static void main(String[] args) {
		ExtendsTest et = new ExtendsTest();
		String s = et.toString();
		System.out.println(s);
	}
}
運(yùn)行結(jié)果如下圖所示:

Java如何繼承

圖12-4:toString()方法執(zhí)行結(jié)果

雖然輸出結(jié)果看不懂,但是起碼看到這個(gè)字符串當(dāng)中確實(shí)是有一個(gè)“@”符號(hào)的,toString()方法確實(shí)被ExtendsTest類繼承過(guò)來(lái)了。

主站蜘蛛池模板: 色中色资源站 | 欧美伊人 | 在线日韩一区 | 四虎影院.com | 国内精品久久久久尤物 | 久久久久国产一级毛片高清板 | 中文字幕视频一区二区 | 91精品国产三级在线观看 | 一级一级一级毛片 | 国产高清国产专区国产精品 | 久青草国产高清在线视频 | 国产老年人性视频 | 欧美毛片aaaaa片久久久久 | 亚洲欧美亚洲 | 男人的天堂久久香蕉国产 | 国产欧美综合精品一区二区 | 中文一级国产特级毛片视频 | 亚洲一区视频 | 一级毛片免费视频网站 | 国产区精品一区二区不卡中文 | 九九热视频在线观看 | 99精品免费久久久久久久久日本 | 欧美乱大交xxxxxbbb | 国产大尺度福利视频在线 | 幸福宝色多多 | 99热这里只有精品18 | 国产不卡在线观看 | 日韩欧美在线看 | 天天操夜夜嗨 | 亚洲精品久久久久久小说 | 亚洲精品国产第一区二区图片 | 欧美特级毛片aaaa | 国产中的精品一区的 | www.中文字幕在线观看 | 欧美老妇免费做爰视频 | 欧美日韩福利视频一区二区三区 | 久久久久免费观看 | 伊人伦理 | 夜夜夜夜夜夜爽噜噜噜噜噜噜 | 国产在线观看美女福利精 | 亚洲精品麻豆一区二区 |