国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android java基礎(chǔ)_多態(tài)性

這篇具有很好參考價(jià)值的文章主要介紹了Android java基礎(chǔ)_多態(tài)性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一.Android Java基礎(chǔ)_多態(tài)性

向上轉(zhuǎn)換:只能定義被子類覆寫的方法,不能調(diào)用在子類中定義的方法。

class Father {
	private int money;	

	public int getMoney() {return money; }
	public void setMoney(int money) {this.money = money; }

	public void printInfo() {System.out.println("This is Father");}

}

class Son extends Father{
	public void printInfo() {System.out.println("This is son");}
	public void playGame() {System.out.println("playGame ...");}
	
}

class Daughter extends Father{
	public void printInfo() {System.out.println("This is daughter");}

	
}

public class Cnv {
	public static void main (String args[]) {
		Son son = new Son();
		Daughter daughter = new Daughter();

		Father f = son; /*  */
		f.printInfo();

		//f.playGame();

		f = daughter;
		f.printInfo();
		
	}
}

運(yùn)行結(jié)果:

root@ubuntu:/home/topeet/guyilian# javac Cnv.java 
root@ubuntu:/home/topeet/guyilian# java Cnv
This is son
This is daughter

JAVA向下轉(zhuǎn)換的例子,在進(jìn)行對(duì)象的向下轉(zhuǎn)換前,必須首先發(fā)生對(duì)象的向上轉(zhuǎn)換.否則會(huì)編譯不過

class Father {
	private int money;	

	public int getMoney() {return money; }
	public void setMoney(int money) {this.money = money; }

	public void printInfo() {System.out.println("This is Father");}

}

class Son extends Father{
	public void printInfo() {System.out.println("This is son");}
	public void playGame() {System.out.println("playGame ...");}
	
}

class Daughter extends Father{
	public void printInfo() {System.out.println("This is daughter");}

	
}

public class Cnv2 {
	public static void main (String args[]) {
		Father f = new Son();
		Son son = (Son)f;   /* Son son = new Son(); */
	}
}

運(yùn)行結(jié)果:

root@ubuntu:/home/topeet/guyilian# javac Cnv2.java 
root@ubuntu:/home/topeet/guyilian# java Cnv2

看一下,下面的例子,假如有一千個(gè)類繼承了father這個(gè)類,如果我們要打印他們的信息,那樣我們豈不是要寫1千個(gè)print函數(shù),下面的第二個(gè)代碼則通過向上轉(zhuǎn)換這個(gè)技巧實(shí)現(xiàn).

class Father {
	private int money;	

	public int getMoney() {return money; }
	public void setMoney(int money) {this.money = money; }

	public void printInfo() {System.out.println("This is Father");}

}

class Son extends Father{
	public void printInfo() {System.out.println("This is son");}
	public void playGame() {System.out.println("playGame ...");}
	
}

class Daughter extends Father{
	public void printInfo() {System.out.println("This is daughter");}

	
}

public class Cnv3 {
	public static void main (String args[]) {
		Father f = new Father();
		Son s = new Son();
		Daughter d = new Daughter();

		print(f);
		print(s);
		print(d);
	}

	public static void print(Father f) {
		f.printInfo();
	}

	public static void print(Son s) {
		s.printInfo();
	}

	public static void print(Daughter d) {
		d.printInfo();
	}
	
}

運(yùn)行結(jié)果:

root@ubuntu:/home/topeet/guyilian# javac Cnv3.java 
root@ubuntu:/home/topeet/guyilian# java Cnv3
This is Father
This is son
This is daughter

通過向上轉(zhuǎn)換實(shí)現(xiàn):

class Father {
	private int money;	

	public int getMoney() {return money; }
	public void setMoney(int money) {this.money = money; }

	public void printInfo() {System.out.println("This is Father");}

}

class Son extends Father{
	public void printInfo() {System.out.println("This is son");}
	public void playGame() {System.out.println("playGame ...");}
	
}

class Daughter extends Father{
	public void printInfo() {System.out.println("This is daughter");}

	
}

public class Cnv4 {
	public static void main (String args[]) {
		Father f = new Father();
		Son s = new Son();
		Daughter d = new Daughter();

		print(f);
		print(s);
		print(d);
	}

	public static void print(Father f) {
		f.printInfo();
	}

	
}

運(yùn)行結(jié)果:

root@ubuntu:/home/topeet/guyilian# javac Cnv4.java 
root@ubuntu:/home/topeet/guyilian# java Cnv4
This is Father
This is son
This is daughter

instanceof: 用來判斷一個(gè)對(duì)象是不是某個(gè)類的實(shí)例

class Father {
	private int money;	

	public int getMoney() {return money; }
	public void setMoney(int money) {this.money = money; }

	public void printInfo() {System.out.println("This is Father");}
	public void drink() {System.out.println("drink ...");}

}

class Son extends Father{
	public void printInfo() {System.out.println("This is son");}
	public void playGame() {System.out.println("playGame ...");}
	
}

class Daughter extends Father{
	public void printInfo() {System.out.println("This is daughter");}
	public void dance() {System.out.println("dance ...");}

	
}

public class Cnv5 {
	public static void main (String args[]) {
		Father f = new Father();
		Son s = new Son();
		Daughter d = new Daughter();

		printAction(f);
		printAction(s);
		printAction(d);
	}

	public static void printAction(Father f) {
		if (f instanceof Son) {
			Son son = (Son)f;
			son.playGame();
		}
		else if (f instanceof Daughter) {
			Daughter d = (Daughter)f;
			d.dance();
		}
		else if (f instanceof Father) {
			f.drink();
		}
	}
}

運(yùn)行結(jié)果:文章來源地址http://www.zghlxwxcb.cn/news/detail-837034.html

root@ubuntu:/home/topeet/guyilian# javac Cnv5.java 
root@ubuntu:/home/topeet/guyilian# java Cnv5
drink ...
playGame ...
dance ...

到了這里,關(guān)于Android java基礎(chǔ)_多態(tài)性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python 中的多態(tài)性

    多態(tài)性是 OOP 的一個(gè)特征,這意味著一個(gè)名稱可以具有不同的功能。 單個(gè)實(shí)體可以采取不同的形式。 本篇文章將介紹如何在 Python 中實(shí)現(xiàn)多態(tài)性。 理解這一點(diǎn)的最佳方法是使用 len() 函數(shù)。 對(duì)于不同的對(duì)象,該函數(shù)有不同的解釋。 對(duì)于列表,它將返回存在的總元素;對(duì)于字符

    2024年02月05日
    瀏覽(31)
  • 實(shí)訓(xùn)7:虛函數(shù)與多態(tài)性

    參考代碼 by 小嚳苦 答案僅供參考! 實(shí)驗(yàn)?zāi)康?掌握運(yùn)算符重載的方法; 實(shí)驗(yàn)任務(wù) 參考實(shí)驗(yàn)指導(dǎo)書第八章的實(shí)驗(yàn)任務(wù) 1。 實(shí)驗(yàn)步驟 參考實(shí)驗(yàn)指導(dǎo)書第八章的實(shí)驗(yàn)步驟 1。 測(cè)試說明 平臺(tái)會(huì)對(duì)你編寫的代碼進(jìn)行測(cè)試: 輸入描述:空格隔開的兩個(gè)整數(shù)x和y,表示一個(gè)坐標(biāo) 輸出描述

    2024年02月07日
    瀏覽(34)
  • C# 類class、繼承、多態(tài)性、運(yùn)算符重載,相關(guān)練習(xí)題

    34.函數(shù)重載 35.幾個(gè)相同的函數(shù)? print() ,用于打印不同的數(shù)據(jù)類型。 ? 36.基類和派生類 ? 37.基類的初始化 ? 38.多重繼承 ? 39.動(dòng)態(tài)多態(tài)性 ? 40.抽象性和虛方法 ? 41.通過虛方法 area() 來計(jì)算不同形狀圖像的面積 ? 42.運(yùn)算符重載的實(shí)現(xiàn) ? @www.runoob.com?

    2024年02月09日
    瀏覽(32)
  • 【C++入門到精通】C++入門 —— 繼承(基類、派生類和多態(tài)性)

    【C++入門到精通】C++入門 —— 繼承(基類、派生類和多態(tài)性)

    前面我們講了C語(yǔ)言的基礎(chǔ)知識(shí),也了解了一些數(shù)據(jù)結(jié)構(gòu),并且講了有關(guān)C++的命名空間的一些知識(shí)點(diǎn)以及關(guān)于C++的缺省參數(shù)、函數(shù)重載,引用 和 內(nèi)聯(lián)函數(shù)也認(rèn)識(shí)了什么是類和對(duì)象以及怎么去new一個(gè) ‘對(duì)象’ ,也了解了C++中的模版,以及學(xué)習(xí)了幾個(gè)STL的結(jié)構(gòu)也相信大家都掌握

    2024年02月11日
    瀏覽(32)
  • 【期末不掛科-C++考前速過系列P5】大二C++實(shí)驗(yàn)作業(yè)-多態(tài)性(3道代碼題)【解析,注釋】

    【期末不掛科-C++考前速過系列P5】大二C++實(shí)驗(yàn)作業(yè)-多態(tài)性(3道代碼題)【解析,注釋】

    前言 大家好吖,歡迎來到 YY 滴C++考前速過系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過C++的老鐵 主要內(nèi)容含: 歡迎訂閱 YY 滴C++專欄!更多干貨持續(xù)更新!以下是傳送門! YY的《C++》專欄 YY的《C++11》專欄 YY的《Linux》專欄 YY的《數(shù)據(jù)結(jié)構(gòu)》專欄 YY的《C語(yǔ)言基礎(chǔ)》專欄 YY的《

    2024年01月25日
    瀏覽(112)
  • Android Java判斷密碼強(qiáng)度 強(qiáng)度顯示

    Android Java判斷密碼強(qiáng)度 強(qiáng)度顯示

    定風(fēng)波 蘇軾(宋) 三月七日,沙湖道中遇雨。雨具先去,同行皆狼狽,余獨(dú)不覺。已而遂晴,故作此詞。 莫聽穿林打葉聲,何妨吟嘯且徐行。竹杖芒鞋輕勝馬,誰(shuí)怕?一蓑煙雨任平生。 料峭春風(fēng)吹酒醒,微冷,山頭斜照卻相迎?;厥紫騺硎捝帲瑲w去,也無風(fēng)雨也無晴。

    2024年02月10日
    瀏覽(29)
  • 【Android】【root & remount 】【1】java中如何判斷設(shè)備是否在root狀態(tài)

    前言 客戶需求,需要判斷設(shè)備是否執(zhí)在root狀態(tài)??梢岳斫鉃槭欠駡?zhí)行了adb root 設(shè)置root狀態(tài),已經(jīng)adb unroot設(shè)置unroot狀態(tài)。 代碼分析 分析adb deamon發(fā)現(xiàn):在執(zhí)行adb root 、adb unroot指令時(shí),系統(tǒng)會(huì)更新service.adb.root 變量。 實(shí)現(xiàn) 系統(tǒng)應(yīng)用可以通過SystemProperties get ”service.adb.root“ v

    2024年04月16日
    瀏覽(26)
  • Android開發(fā)Java版 —— 基礎(chǔ)知識(shí)

    Android開發(fā)Java版 —— 基礎(chǔ)知識(shí)

    ?? “第一行代碼” 第二版 (java)讀書筆記 源碼下載地址:github倉(cāng)庫(kù)地址。 Android大致可以分為 四層架構(gòu) : Linux 內(nèi)核層 Android系統(tǒng)是基于Linux內(nèi)核的,這一層為Android設(shè)備的各種硬件提供了底層的驅(qū)動(dòng) 系統(tǒng)運(yùn)行庫(kù)層 這一層通過一些C/C++庫(kù)來為Android系統(tǒng)提供了主要的特性支持

    2024年02月06日
    瀏覽(25)
  • 02 java ---- Android 基礎(chǔ)app開發(fā)

    02 java ---- Android 基礎(chǔ)app開發(fā)

    目錄 相對(duì)布局 顯示一個(gè)美女 ?顯示兩個(gè)美女 安卓APP啟動(dòng)過程 安卓布局控件 常用布局之相對(duì)布局 常用布局之相對(duì)布局 padding和margin 按鍵美化? 常用布局之線性布局 安卓按鍵響應(yīng)的幾種方式 直接設(shè)置按鍵的onClick綁定的函數(shù) 自定義類實(shí)現(xiàn)按鍵監(jiān)聽事件的接口 匿名內(nèi)部類實(shí)現(xiàn)

    2024年02月04日
    瀏覽(49)
  • Android應(yīng)用開發(fā)入門:從Android Studio環(huán)境設(shè)置到Java編程基礎(chǔ)

    目錄 介紹 步驟一:設(shè)置Android Studio環(huán)境 步驟二:了解Android Studio界面

    2024年02月13日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包