十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一。 下载并安装java环境 jdk 1.4以后版本 大于1.4都可以。去sun的官网上下载
创新互联公司专注于顺平网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供顺平营销型网站建设,顺平网站制作、顺平网页设计、顺平网站官网定制、小程序开发服务,打造顺平网络公司原创品牌,更为您提供顺平网站排名全网营销落地服务。
二。 下载并安装sun提供的专门开发手机软件的 java微型版,即j2me开发工具,又叫WTK全称(Wireless Toolkit)目前版本 WTK2.5.2 去sun的官网下载
如果只用写字板,记事本之类的开发工具的话,现在就可以开发了,运行WTK:-项目-新建项目,就会在C:\Documents and Settings\Administrator\j2mewtk\2.5.2\apps 下生成你的项目文件夹. 具体文件夹视你的电脑系统和你的安装而视,你找找就知道了。
然后在你的项目文件夹下找到 下面三个文件夹: 1. src 代码放在这里 2. res图片和音乐放在这里 3.bin 最后生成的可运行文件 .jar自动会放在这里
用写字本写代码,,在WTK里对写好的代码进行编译和打包即可放入手机运行。
三。 由于写字板不方便编写程序,所以一般使用eclipse和netbean开发,eclipse请去eclipse.org官网下载;
四。 直接使用eclipse时eclipse并不认识j2me程序代码会报编译错误,这是因为没有导入j2me的类库midp和规范cldc 所以需要为eclipse安装 j2me插件. 原插件版本为 eclipseME现在好像换了新版本, 具体可以去eclipse官网下载.
四步完成,现在可以进行开发了。直接运行eclipse,文件--新建-项目-
如果插件安装成功,则会出现"新建j2me项目"
与普通j2se项目不一样,普通项目需要你编写含有main方法的入口类。 在j2me中是需要你继承(实现抽象类) Midlet类,完成它里面的入口方法startAPP()和destoryApp(),pauseApp()
游戏的话一般都是用低级UI开发的,即Canvas类
1。 复写paint()方法,在这里画你的图
2。 keypressed()等方法得到用户对键盘的按键值。从而改变你的游戏逻辑。
3。 自定义线程,不断运行sleep时间一般在100毫秒左右。每次运行都repaint()一次,每次reapint其实就是调用了paint()一次, 由于游戏逻辑有可能会因为 key事件而改变,所以paint出来的结果就不一样,成而形成动画
最后推荐你,先做一个像贪吃蛇,华容道这样的简单游戏出来
1、代码如下
public class phone
{
public void downloadMusic()
{
System.out.println("download music ");
}
public void playMusic()
{
System.out.println("play music ");
}
}
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("语音已关闭");
}
}
//这里是直接设置
public void setMute(boolean mute){
this.mute=mute;
}
//担心你的题目是要求两种方法,写的第二种,下面两个方法负责开关
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();
}
}
测试结果
打电话
打电话
语音已关闭
打电话
语音已关闭
这个题考察的是面向对象三大特性之一的继承。
子类继承父类。
项目结构如何所示:
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 的代码如下图所示:
最后一个类,也就是测试类,用于创建第二代手机的对象,并调用相应的功能,如下图所示:
最终,程序的运行结果如下图所示:
我是冯修远,如果我的答案对您有帮助的话,请采纳以帮助更多的人,如果还有其它的问题,也请关注我,私信我,谢谢!
//手机类
class Phone{
private String brand;//品牌
private String type;//型号
//重写构造函数
public Phone(String b,String t){
this.brand = b;
this.type = t;
}
//显示手机信息
public void show(){
System.out.println("手机品牌为:"+this.brand+" 手机型号为:"+this.type);
}
}
//测试类
public class Test {
public static void main(String[] args){
Phone p = new Phone("NOKIA","5230");//初始化手机信息
p.show();
}
}
运行结果:
手机品牌为:NOKIA 手机型号为:5230
编写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()方法.输出张三李四的名字,会发现已经改变~~请采纳,不懂再问