一個重要的概念是:Java 是面向?qū)ο蟮恼Z言,不管你聽沒聽說過,這是和 C 語言的最大區(qū)別。
在成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)過程中,需要針對客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計方向。創(chuàng)新互聯(lián)建站還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計,包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計和安全保護(hù)等功能。
在 Java 中,基本上用類來描述一切事物,把具有相似屬性和方法的事物定義成一個“類”(可以理解為同一類事物)。以上程序中的 Scanner 和你自己定義的 TriArea 都是類。類的具體實(shí)例就叫對象,面向?qū)ο笠惨虼说妹ava 中的類是由屬性和方法組成的。
屬性其實(shí)是類變量,你的程序里沒有體現(xiàn)出來,就不說了;方法類似 C 語言中的函數(shù),但是 C 語言中的函數(shù)歸屬于某個文件,而 Java 中的常規(guī)方法則歸屬于某個“類”的所有對象。比如“吃東西()”這個方法就歸屬于所有的人,而“人”就是一個類。你可以對同一個對象反復(fù)調(diào)用某個方法,比如小明是一個人,我可以每天都讓小明吃東西。理解?
在自己寫程序的時候,如果想調(diào)用某個方法,則必須先指定它所在類的對象。sc.nextDouble() 就是這樣一個過程。因為 nextDouble() 方法是在 Scanner 這個類中定義的,你需要指定 Scanner 的一個對象。而 sc 就是 Scanner 的一個實(shí)例對象,因為前面是:Scanner sc = new Scanner(System.in) 這是創(chuàng)建對象的語句(要注意的是這不是輸入語句,sc.nextDouble() 才是真正的輸入語句)。然后我上面說了,可以對這個對象反復(fù)調(diào)用同一個方法來實(shí)現(xiàn)某種目的。比如這里就是需要輸入三個 double 類型的數(shù),那就應(yīng)該調(diào)用三次 nextDouble(),當(dāng)你輸入了一個數(shù)并按了回車以后,這個方法就返回了,開始讀下一個。明白?
我耐心打了這么多字,希望你能耐心讀完,讀完你就應(yīng)該明白這里是三個輸入語句。
第一題:pre t="code" l="java"
public class People
{
private String name;
public String speak(){
return "";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
public class American extends People
{
private String name;
@Override
public String speak()
{
return "i’m speak English";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
public class Chinese extends People
{
private String name;
@Override
public String speak()
{
return "我說中國話";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
import java.util.HashMap;
import java.util.Map;
public class Demo01
{
public static Map?, ? recruit(People[] people)
{
MapString, String resultMap = new HashMapString, String();
for (People p : people)
{
if ("我說中國話".equals(p.speak()))
resultMap.put(p.getName(), "中國人");
else
resultMap.put(p.getName(), "美國人");
}
return resultMap;
}
public static void main(String[] args)
{
Chinese chinese01 = new Chinese();
chinese01.setName("小明");
Chinese chinese02 = new Chinese();
chinese02.setName("小紅");
American american = new American();
american.setName("Tom");
People[] peoples = new People[] { chinese01, chinese02, american };
MapString, String resultMap = new HashMapString, String(3);
resultMap = (MapString, String) recruit(peoples);
for (Map.EntryString, String entry : resultMap.entrySet())
{
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
}
}
/*
運(yùn)行結(jié)果
Tom:美國人
小明:中國人
小紅:中國人
*/ 第二題:pre t="code" l="java"public class Engineer
{
private String name;
public String writerCode()
{
return "";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
public class JavaEngineer extends Engineer
{
private String name;
@Override
public String writerCode()
{
return "在寫Java代碼";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
public class iOSEngineer extends Engineer
{
private String name;
@Override
public String writerCode()
{
return "在寫iOS代碼";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
import java.util.HashMap;
import java.util.Map;
public class Demo02
{
public static Map?, ? recruit(Engineer[] Engineer)
{
MapString, String resultMap = new HashMapString, String();
for (Engineer e : Engineer)
{
if ("在寫Java代碼".equals(e.writerCode()))
resultMap.put(e.getName(), "Java工程師");
else
resultMap.put(e.getName(), "iOS工程師");
}
return resultMap;
}
public static void main(String[] args)
{
JavaEngineer JavaEngineer01 = new JavaEngineer();
JavaEngineer01.setName("Sunny");
JavaEngineer JavaEngineer02 = new JavaEngineer();
JavaEngineer02.setName("Jain");
iOSEngineer iOSEngineer = new iOSEngineer();
iOSEngineer.setName("Tony");
Engineer[] Engineers = new Engineer[] { JavaEngineer01, JavaEngineer02, iOSEngineer };
MapString, String resultMap = new HashMapString, String(3);
resultMap = (MapString, String) recruit(Engineers);
for (Map.EntryString, String entry : resultMap.entrySet())
{
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
}
}
/*
運(yùn)行結(jié)果:
Sunny:Java工程師
Jain:Java工程師
Tony:iOS工程師
*/
this不是two,this是java內(nèi)置的一個關(guān)鍵字,this就是this ,不能用其它代替,可用this來指當(dāng)前對象。打個簡單的比方,一個雞蛋是要給一個人吃的,吃雞蛋的那個人可看成當(dāng)前對象,如果吃雞蛋的那個人是小明,則this可指代小明,如果吃雞蛋的那個人是小花,則this可指代小花,另一個比方,如漢語中的"這個“,如這個是他媽,這個是他爸,用這個來指向不同的人,如果直接說他媽是他媽,他爸是他爸,這樣說就沒意思了。
this 是非常重要的一個關(guān)鍵字,需要掌握,舉的例子可能沒那么好,如果你還不清楚,再去研究一下課本。
親,我來回答你。
接口的一般應(yīng)用于下列六種設(shè)計模式:
1.定制服務(wù)模式:設(shè)置精粒度接口,每個接口代表相關(guān)一組服務(wù),通過繼承來創(chuàng)建復(fù)合接口。
2.適配器模式:每當(dāng)系統(tǒng)之間不匹配的時候,用適配器來轉(zhuǎn)換借口。
3.默認(rèn)適配器模式:為借口提供簡單的默認(rèn)實(shí)現(xiàn)
4.代理模式:為接口的實(shí)現(xiàn)創(chuàng)建代理類,使用者通過代理類獲得實(shí)現(xiàn)類的服務(wù)
5.標(biāo)識類型模式:用接口來表示一種沒有任何行為的抽象類型
6.常量接口模式:在接口中定義靜態(tài)變量,在其它類中用import static語句引入這些常量。
一般情況只需要了解如何對接口進(jìn)行實(shí)現(xiàn)就可以了。
親這樣回答滿意嗎?
分享題目:小明吃早餐JAVA代碼 小明吃完早餐,拿出餐巾紙擦完嘴巴,隨手把紙扔在了地上
分享鏈接:http://chinadenli.net/article46/dogeeeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、域名注冊、用戶體驗、網(wǎng)站策劃、云服務(wù)器、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)