public class Telephon extend Thread{
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)青浦,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
private int telNum;
private int type;//0短信,1彩信,3電話
private String message;
public Telephon(int telNum,int type,String message){
this.telNum = telNum;
this.type = type;
this.message = message;
}
//發(fā)短信
private void sendMessage(int telNum,String message){
}
//發(fā)彩信
private void sendColor(int telNum,String message){
}
//打電話
private synchronized void call(int telNum){
}
//關(guān)閉電話
private void closeTel(){
}
public void run(){
if(type==0){
sendMessage(this.telNum,this.message);
}
if(type==1){
sendColor(this.telNum,this.message);
}
if(type==2){
call(int telNum);
}else{ closeTel();}
}
}
NewPhone類
package?com.baidu.question;
public?class?NewPhone?extends?Phone?{
private?boolean?mute?=?true;
@Override
public?void?call()?{
if(mute){
super.call();
}else{
System.out.println("語音已關(guān)閉");
}
}
//這里是直接設(shè)置
public?void?setMute(boolean?mute){
this.mute=mute;
}
//擔(dān)心你的題目是要求兩種方法,寫的第二種,下面兩個方法負(fù)責(zé)開關(guān)
public?void?openMute(){
this.mute=true;
/*
*?也可以這樣寫
*?setMute(true);
*?下邊的方法一樣
*?*/
}
public?void?closeMute(){
this.mute?=?false;
}
}
Phone類
package?com.baidu.question;
public?class?Phone?{
public?void?call(){
System.out.println("打電話");
}
}
測試類
package?com.baidu.question;
public?class?PhoneTest?{
public?static?void?main(String[]?args)?{
Phone?phone?=?new?Phone();
phone.call();
NewPhone?newPhone?=?new?NewPhone();
newPhone.call();
newPhone.setMute(false);
newPhone.call();
newPhone.openMute();
newPhone.call();
newPhone.closeMute();
newPhone.call();
}
}
測試結(jié)果
打電話
打電話
語音已關(guān)閉
打電話
語音已關(guān)閉
這個題考察的是面向?qū)ο笕筇匦灾坏睦^承。
子類繼承父類。
項目結(jié)構(gòu)如何所示:
Mobile 為父類,有一個屬性:mobilePhone 代表電話號碼。
有4個方法(功能):
1、獲取手機號碼:public String getMobilePhone(){}
2、存儲手機號碼:public void setMobilePhone(String mobilePhone) {}
3、撥打電話號碼:public void callOnMobilePhone(){}
4、掛斷電話:public void callOffPhone(){}
具體代碼如下所示:、
--------------------------------------mobilePhone 開始--------------------------------------
/**
* @author 馮修遠(yuǎn)
* 創(chuàng)建一個第一代手機類,要求包含手機號碼信息,并包含獲取電話號碼,
* 存儲電話號碼、撥打電話號碼和掛斷電話等功能。并以此為父類,派生
* 出子類第二代手機類,增加拍照功能。以第二代手機類來生成對象并
* 模擬實現(xiàn)撥打電話、掛斷電話拍照等功能。
*/
public class Mobile {
//手機號碼
private String mobilePhone;
/**
* 獲取手機號碼
* @return
*/
public String getMobilePhone() {
return mobilePhone;
}
/**
* 存儲手機號碼
* @param mobilePhone
*/
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
/**
* 撥打電話號碼
*/
public void callOnMobilePhone(){
System.out.println("撥打電話號碼:"+mobilePhone);
}
/**
* 掛斷電話
*/
public void callOffPhone(){
System.out.println("掛斷與:"+mobilePhone+"的通話");
}
}
--------------------------------------mobilePhone 結(jié)束--------------------------------------
PhotoMobile 為子類或者叫派生類,繼承自父類:Mobile
同時也繼承了父類的4個方法,但父類的屬性因為我設(shè)置的是private,所以繼承不了。
PhotoMobile 的代碼如下圖所示:
最后一個類,也就是測試類,用于創(chuàng)建第二代手機的對象,并調(diào)用相應(yīng)的功能,如下圖所示:
最終,程序的運行結(jié)果如下圖所示:
我是馮修遠(yuǎn),如果我的答案對您有幫助的話,請采納以幫助更多的人,如果還有其它的問題,也請關(guān)注我,私信我,謝謝!