这个题考察的是面向对象三大特性之一的继承。
成都创新互联专注于企业成都全网营销推广、网站重做改版、秀山土家族苗族网站定制设计、自适应品牌网站建设、H5网站设计、商城开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为秀山土家族苗族等各大城市提供网站开发制作服务。
子类继承父类。
项目结构如何所示:
Mobile 为父类,有一个属性:mobilePhone 代表电话号码。
有4个方法(功能):
1、获取手机号码:public String getMobilePhone(){}
2、存储手机号码:public void setMobilePhone(String mobilePhone) {}
3、拨打电话号码:public void callOnMobilePhone(){}
4、挂断电话:public void callOffPhone(){}
具体代码如下所示:、
--------------------------------------mobilePhone 开始--------------------------------------
/**
* @author 冯修远
* 创建一个第一代手机类,要求包含手机号码信息,并包含获取电话号码,
* 存储电话号码、拨打电话号码和挂断电话等功能。并以此为父类,派生
* 出子类第二代手机类,增加拍照功能。以第二代手机类来生成对象并
* 模拟实现拨打电话、挂断电话拍照等功能。
*/
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 结束--------------------------------------
PhotoMobile 为子类或者叫派生类,继承自父类:Mobile
同时也继承了父类的4个方法,但父类的属性因为我设置的是private,所以继承不了。
PhotoMobile 的代码如下图所示:
最后一个类,也就是测试类,用于创建第二代手机的对象,并调用相应的功能,如下图所示:
最终,程序的运行结果如下图所示:
我是冯修远,如果我的答案对您有帮助的话,请采纳以帮助更多的人,如果还有其它的问题,也请关注我,私信我,谢谢!
编写User类添加属性name,代码如下java"publicclassUser{privateStringname;publicUser(Stringname){this.setName(name);}publicvoidchangeName(Useru){StringuName=u.getName();u.setName(this.name);this.name=uName;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}其中changeName()用来交换对象的name属性.编写测试类,代码如下:java"publicclassTest{publicstaticvoidmain(Stringargs[]){Userzhangsan=newUser("张三");Userlisi=newUser("李四");zhangsan.changeName(lisi);System.out.println(zhangsan.getName());System.out.println(lisi.getName());}}new出张三李四两个对象,name分别为张三李四,调用changeName()方法.输出张三李四的名字,会发现已经改变~~请采纳,不懂再问
import javax.microedition.lcdui.*; //这个你手机液晶屏的包,负责绘图部分
import javax.microedition.midlet.*; //这里包括了MIDP程序类包
public class G extends MIDlet implements CommandListener{ //这是一个MIDP程序主类,并实现了COMMANDLISTENER接口,必须实现COMMANDACTION方法
public Command backCommand; //声明一个返回按钮
private Command exitCommand; //声明一个退出按钮
private SpriteCanvas zgcCanvas; //声明一个精灵画布,用来在上面贴图绘画
private long x=0; //程序中没用到
Display display=Display.getDisplay( this ); //获得当前绘制用的屏幕对象
public G() //
{
backCommand=new Command("BACK",Command.BACK,2); //实例化返回按钮,优先级是2
zgcCanvas = new SpriteCanvas( display,this ); //实例化画布
zgcCanvas.setCommandListener(this); //为画布添加监听者
}
public void startApp() //继承自MIDLET类,程序启动时候自动调用
{
}
public void pauseApp() //继承自MIDLET,暂停时调
{
}
protected void destroyApp(boolean d) //销毁时调
{
}
public void commandAction(Command c, Displayable d) //按下按钮后的回调函数,按下按钮就会执行里面
{
if( c == exitCommand ) //如果按的是退出按钮
{
zgcCanvas.stop(); //则结束画布线程
destroyApp( false );// 销毁程序
notifyDestroyed();
}
}
}