java代码加铃声 给java代码添加音乐的代码

用java实现手机铃声下载InputStream is = Connector.openInputStream("");//首先使用Connector打开一个连接或者打开一个流
byte[] buffer = ....
is.read(buffer...)//然后使用普通的read方法读取字节流
OutputStream os = new ....//构建本地输出流
os.wirte(buffer....)//将铃声文件写出本地
如此即实现了下载 。上面只是提供了个思路,不是实际代码 。
如何编写程序设置Android来电铃声//设置--铃声的具体方法
public void setMyRingtone(String path)
{
File sdfile = new File(path);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);
Toast.makeText( getApplicationContext (),"设置来电铃声成功!", Toast.LENGTH_SHORT ).show();
System.out.println("setMyRingtone()-----铃声");
}
//设置--提示音的具体实现方法
public void setMyNotification(String path)
{
File sdfile = new File(path);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);
Toast.makeText( getApplicationContext (),"设置通知铃声成功!", Toast.LENGTH_SHORT ).show();
System.out.println("setMyNOTIFICATION-----提示音");
}
//设置--闹铃音的具体实现方法
public void setMyAlarm(String path)
{
File sdfile = new File(path);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, sdfile.getName());
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, newUri);
Toast.makeText( getApplicationContext (),"设置闹钟铃声成功!", Toast.LENGTH_SHORT ).show();
System.out.println("setMyNOTIFICATION------闹铃音");
}
2、如果读取多媒体库的音频文件 , 设为铃声,使用以下方式:
首先写一个常量类(定义想要设置为那种铃声的标示):
AppConstant.java
Java代码
public interface AppConstant {
public static final int RINGTONE = 0;//铃声
public static final int NOTIFICATION = 1;//通知音
public static final int ALARM = 2;//闹钟
public static final int ALL = 3;//所有声音
}
此方法需要传入想要设置为铃声的全路径(如:/mnt/sdcard/mp3/a.mp3),和想要设置为哪种铃声的标示:
Java代码
private void setVoice(String path2,int id)
{
ContentValues cv = new ContentValues();
Uri newUri = null;
Uri uri = MediaStore.Audio.Media.getContentUriForPath(path2);
// 查询音乐文件在媒体库是否存在
Cursor cursor = this.getContentResolver().query(uri, null, MediaStore.MediaColumns.DATA"=?", new String[] { path2 },null);
if (cursor.moveToFirst()cursor.getCount()0)
{
String _id = cursor.getString(0);
switch (id) {
case AppConstant.RINGTONE:
cv.put(MediaStore.Audio.Media.IS_RINGTONE, true);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
cv.put(MediaStore.Audio.Media.IS_ALARM, false);
cv.put(MediaStore.Audio.Media.IS_MUSIC, false);
break;
case AppConstant.NOTIFICATION:
cv.put(MediaStore.Audio.Media.IS_RINGTONE, false);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
cv.put(MediaStore.Audio.Media.IS_ALARM, false);
cv.put(MediaStore.Audio.Media.IS_MUSIC, false);
break;
case AppConstant.ALARM:
cv.put(MediaStore.Audio.Media.IS_RINGTONE, false);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
cv.put(MediaStore.Audio.Media.IS_ALARM, true);
cv.put(MediaStore.Audio.Media.IS_MUSIC, false);
break;
case AppConstant.ALL:
cv.put(MediaStore.Audio.Media.IS_RINGTONE, true);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
cv.put(MediaStore.Audio.Media.IS_ALARM, true);
cv.put(MediaStore.Audio.Media.IS_MUSIC, false);
break;
default:
break;
}
// 把需要设为铃声的歌曲更新铃声库
getContentResolver().update(uri, cv, MediaStore.MediaColumns.DATA"=?",new String[] { path2 });
newUri = ContentUris.withAppendedId(uri, Long.valueOf(_id));
// 一下为关键代码:
switch (id) {
case AppConstant.RINGTONE:
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);
break;
case AppConstant.NOTIFICATION:
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);
break;
case AppConstant.ALARM:
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, newUri);
break;
case AppConstant.ALL:
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALL, newUri);
break;
default:
break;
}
//播放铃声
//Ringtone rt = RingtoneManager.getRingtone(this, newUri);
//rt.play();
}
}
怎么把语音设置为来电铃声Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声
一、Android来电铃声默认设置的实现方法
Andoird默认来电铃声的设置方法为修改build/target/product/core.mk的ro.config.ringtone的值如
ro.config.ringtone=Backroad.ogg,该音乐文件必须于framework/base/data/sounds/Android.mk中加入音乐文件 。
framework/base/media/java/android/media/MediaScanner.java中类的初始化时会设置默认铃声的文件名的变量mDefaultRingtoneFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIXSetting.System.RINGTONE);
MediaScanner该类会搜索音乐文件必插入数据库中,搜索过程中检查是否与设置的默认铃声相同 , 如果相同则设为默认铃声 。
} else if (ringtonesmWasEmptyPriorToScan!mDefaultRingtoneSet) {
if (TextUtils.isEmpty(mDefaultRingtoneFilename) ||
doesPathHaveFilename(entry.mPath, mDefaultRingtoneFilename)) {
setSettingIfNotSet(Settings.System.RINGTONE, tableUri, rowId);
setProfileSettings(AudioProfileManager.TYPE_RINGTONE, tableUri, rowId);
mDefaultRingtoneSet = true;
}
}
二、如何设置语音来电的默认铃声
首先在core.mk中新增ro.config.videocall=BentleyDubs.ogg 。
在framework/base/media/java/android/media/MediaScanner.java类中新加两个成员变量
private boolean mDefaultVideoCallSet;
private String mDefaultVideoCallFilename;
在setDefaultRingtoneFileNames()方法中加入以下代码初始化默认铃声的文件名
mDefaultVideoCallFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX
Settings.System.VIDEO_CALL);
在endFile()方法中加入以下代码设置语音来电的默认铃声
} else if (ringtonesmWasEmptyPriorToScan!mDefaultVideoCallSet) {
if (TextUtils.isEmpty(mDefaultVideoCallFilename) ||
doesPathHaveFilename(entry.mPath, mDefaultVideoCallFilename)) {
setSettingIfNotSet(Settings.System.VIDEO_CALL, tableUri, rowId);
setProfileSettings(AudioProfileManager.TYPE_VIDEO_CALL, tableUri, rowId);
mDefaultVideoCallSet = true;
}
}
跪求高手帮忙写一个JAVA手机闹钟程序 实现添加铃声和设置多闹钟import java.util.*;
import java.awt.*;
import java.applet.*;
import java.text.*;
public class AlarmClock extends Applet implements Runnable
{
【java代码加铃声 给java代码添加音乐的代码】Thread timer=null; //创建线程timer
Image clockp,gif1,gif2,clock6,clock7; //clockp:闹钟的外壳,闹铃和报时鸟
int s,m,h,hh;
AudioClip ipAu,danger,chirp;
boolean canPaint=true;
boolean flag=false;
boolean strike=true;
int counter=0;
int lasts;
Image offscreen_buf=null;
int i,j,t=0;
int timeout=166;
int lastxs=0,lastys=0,lastxm=0,lastym=0,lastxh=0,lastyh=0;
Date dummy=new Date();//生成Data对象
GregorianCalendar cal=new GregorianCalendar();
SimpleDateFormat df=new SimpleDateFormat("yyyy MM dd HH:mm:ss");//设置时间格式
String lastdate=df.format(dummy);
Font F=new Font("TimesRoman",Font.PLAIN,14);//设置字体格式
Date dat=null;
Date timeNow=null;
Color fgcol=Color.blue;
Color fgcol2=Color.darkGray;
Panel setpanel;
Color backcolor=Color.pink;
TextField showhour,showmin,showsec,sethour,setmin,setsec;//显示当前时间文本框和定时文本框
Button onbutton;
Button offbutton;
Label hlabel1,mlabel1,slabel1,hlabel2,mlabel2,slabel2;//显示时间单位时所用的标签(时、分、秒)
Label info1=new Label("欢迎使用定时提醒闹钟"),info2=new Label("");
Label note1=new Label("当前时间:"),note2=new Label("闹钟设置:");
boolean setalerm=false,clickflag=false;//判断是否响铃和振动
int fixh=0,fixm=0,fixs=0;//记录闹钟的定时
public void init()//初始化方法
{
Integer gif_number;
int fieldx=50,fieldy1=120,fieldy2=220,fieldw=30,fieldh=20,space=50;//显示时间和定时文本框的定位参数
setLayout(null);//将布局管理器初始化为null
setpanel=new Panel();
setpanel.setLayout(null);
setpanel.add(note1);
setpanel.add(note2);
note1.setBounds(30,100,60,20);
note1.setBackground(backcolor);
note1.setForeground(Color.black);
note2.setBounds(30,180,60,20);
note2.setBackground(backcolor);
note2.setForeground(Color.black);
hlabel1=new Label();
mlabel1=new Label();
slabel1=new Label();
hlabel2=new Label();
mlabel2=new Label();
slabel2=new Label();
//显示当前时间用的文本框
showhour=new TextField("00",5);
showmin=new TextField("00",5);
showsec=new TextField("00",5);
//定时用的文本框(时、分、秒)
sethour=new TextField("00",5);
setmin=new TextField("00",5);
setsec=new TextField("00",5);
//当前时间用的文本框的位置、大小
setpanel.add(showhour);
showhour.setBounds(fieldx,fieldy1,fieldw,fieldh);
showhour.setBackground(Color.white);
//在文本框后加入单位“时”
setpanel.add(hlabel1);
hlabel1.setText("时");
hlabel1.setBackground(backcolor);
hlabel1.setForeground(Color.black);
hlabel1.setBounds(fieldx fieldw 3,fieldy1,14,20);
fieldx=fieldx space;
//当前时间的分钟文本框的位置、大小
setpanel.add(showmin);
showmin.setBounds(fieldx,fieldy1,fieldw,fieldh);
showmin.setBackground(Color.white);
//在文本框后加入单位“分”
setpanel.add(mlabel1);
mlabel1.setText("分");
mlabel1.setBackground(backcolor);
mlabel1.setForeground(Color.black);
mlabel1.setBounds(fieldx fieldw 3,fieldy1,14,20);
fieldx=fieldx space;
//当前时间的秒文本框的位置、大小
setpanel.add(showsec);
showsec.setBounds(fieldx,fieldy1,fieldw,fieldh);
showsec.setBackground(Color.white);
//在文本框后加入单位“秒”
setpanel.add(slabel1);
slabel1.setText("秒");
slabel1.setBackground(backcolor);
slabel1.setForeground(Color.black);
slabel1.setBounds(fieldx fieldw 3,fieldy1,14,20);
fieldx=50;
//定时的小时文本框的位置、大小
setpanel.add(sethour);
sethour.setBounds(fieldx,fieldy2,fieldw,fieldh);
sethour.setBackground(Color.white);
//在文本框后加入单位“时”
setpanel.add(hlabel2);
hlabel2.setText("时");
hlabel2.setBackground(backcolor);
hlabel2.setForeground(Color.black);
hlabel2.setBounds(fieldx fieldw 3,fieldy2,14,20);
fieldx=fieldx space;
//定时的分钟文本框的位置、大小
setpanel.add(setmin);
setmin.setBounds(fieldx,fieldy2,fieldw,fieldh);
setmin.setBackground(Color.white);
//在文本框后加入单位“分”
setpanel.add(mlabel2);
mlabel2.setText("分");
mlabel2.setBackground(backcolor);
mlabel2.setForeground(Color.black);
mlabel2.setBounds(fieldx fieldw 3,fieldy2,14,20);
fieldx=fieldx space;
//定时的秒文本框的位置、大小
setpanel.add(setsec);
setsec.setBounds(fieldx,fieldy2,fieldw,fieldh);
setsec.setBackground(Color.white);
//在文本框后加入单位“秒”
setpanel.add(slabel2);
slabel2.setText("秒");
slabel2.setBackground(backcolor);
slabel2.setForeground(Color.black);
slabel2.setBounds(fieldx fieldw 3,fieldy2,14,20);
//设置闹钟控制按钮(on,off)
onbutton=new Button("开");
offbutton=new Button("关");
setpanel.add(onbutton);
setpanel.add(offbutton);
onbutton.setBounds(90,180,40,20);
offbutton.setBounds(140,180,40,20);
//加入一些附加的信息标签(题头,题尾)
setpanel.add(info1);
info1.setBackground(backcolor);
info1.setForeground(Color.blue);
info1.setBounds(50,50,150,20);
setpanel.add(info2);
info2.setBackground(backcolor);
info2.setForeground(Color.blue);
info2.setBounds(150,280,100,20);
//将面板加入当前容器中,并设置面板的大小和背景色
add(setpanel);
setpanel.setBounds(300,1,250,420);
setpanel.setBackground(backcolor);
//获取声音文件
ipAu=getAudioClip(getDocumentBase(),"bells/仙剑.mid");
danger=getAudioClip(getDocumentBase(),"bells/0.mid");
chirp=getAudioClip(getDocumentBase(),"bells/3.mid");
int xcenter,ycenter,s,m,h;
xcenter=145;
ycenter=162;
s=(int)cal.get(Calendar.SECOND);
m=(int)cal.get(Calendar.MINUTE);
h=(int)cal.get(Calendar.HOUR_OF_DAY);
//初始化指针位置
lastxs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30 xcenter);
lastys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30 ycenter);
lastxm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25 xcenter);
lastym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25 ycenter);
lastxh=(int)(Math.cos((h*30 m/2)*3.14f/180-3.14f/2)*18 xcenter);
lastyh=(int)(Math.sin((h*30 m/2)*3.14f/180-3.14f/2)*18 ycenter);
lasts=s;
MediaTracker mt=new MediaTracker(this);//创建Tracke对象
clockp=getImage(getDocumentBase(),"休闲.png");
gif1=getImage(getDocumentBase(),"gif1.gif");
gif2=getImage(getDocumentBase(),"gif2.gif");
clock6=getImage(getDocumentBase(),"clock6.gif");
clock7=getImage(getDocumentBase(),"clock7.gif");
mt.addImage(clockp,i);
mt.addImage(gif1,i);
mt.addImage(gif2,i);
mt.addImage(clock6,i);
mt.addImage(clock7,i);
try{mt.waitForAll();}catch(InterruptedException e){};//等待加载结束
resize(600,420);//设置窗口大小
}
public void paint(Graphics g){//重写paint()方法
int xh,yh,xm,ym,xs,ys,strike_times;
int xcenter,ycenter;
String today;
Integer gif_number;
xcenter=148;
ycenter=186;
dat=new Date();
cal.setTime(dat);
//读取当前时间
s=(int)cal.get(Calendar.SECOND);
m=(int)cal.get(Calendar.MINUTE);
h=(int)cal.get(Calendar.HOUR_OF_DAY);
today=df.format(dat);
//指针位置
xs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30 xcenter);
ys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30 ycenter);
xm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25 xcenter);
ym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25 ycenter);
xh=(int)(Math.cos((h*30 m/2)*3.14f/180-3.14f/2)*18 xcenter);
yh=(int)(Math.sin((h*30 m/2)*3.14f/180-3.14f/2)*18 ycenter);
//设置字体和颜色
g.setFont(F);
g.setColor(fgcol);
g.setColor(fgcol2);
g.setColor(getBackground());
g.fillRect(1,1,634,419);
g.drawImage(clockp,75,110,this);
g.drawImage(clock6,83,280,this);
g.setColor(fgcol2);
g.setColor(getBackground());
g.setColor(fgcol2);
//以数字方式显示年、月、日和时间
g.drawString(today,55,415);
g.drawLine(xcenter,ycenter,xs,ys);
g.setColor(fgcol);
//画指针
g.drawLine(xcenter,ycenter-1,xm,ym);
g.drawLine(xcenter-1,ycenter,xm,ym);
g.drawLine(xcenter,ycenter-1,xh,yh);
g.drawLine(xcenter-1,ycenter,xh,yh);
lastxs=xs;lastys=ys;
lastxm=xh;lastym=ym;
lastxh=xh;lastyh=yh;
lastdate=today;
if(h12)hh=h;//将系统时间变换到0-11区间
else hh=h-12;
if(hh==0) strike_times=12;//计算整点时钟声数
else strike_times=hh;
if((s==0m==0)||flag){//判断是否整点 , 是否是主动刷新
if(counterstrike_times){
flag=true;
g.drawImage(gif2,115,35,this);
if(lasts!=s){
if(strike){
counter;
danger.play();//播放闹铃声
}
if(strike)strike=false;
else strike=true;
}
}
else {
counter=0;
flag=false;
}
}
else
g.drawImage(gif1,115,35,this);
int timedelta;//记录当前时间与闹铃定时的时差
Integer currh,currm,currs;//分别记录当前的时、分、秒
timeNow=new Date();
currh=new Integer(timeNow.getHours());
currm=new Integer(timeNow.getMinutes());
currs=new Integer(timeNow.getSeconds());
//判断是否要更新当前显示的时间,这样可以避免文本框出现频率闪动
if(currh.intValue()!=Integer.valueOf(showhour.getText()).intValue())
showhour.setText(currh.toString());
if(currm.intValue()!=Integer.valueOf(showmin.getText()).intValue())
showmin.setText(currh.toString());
if(currs.intValue()!=Integer.valueOf(showsec.getText()).intValue())
showsec.setText(currh.toString());
if(setalerm){//判断是否设置了闹钟
//判断当前时间是否为闹钟所定的时间
if((currh.intValue()==fixh)(currm.intValue()==fixm)(currs.intValue()==fixs))
clickflag=true;
timedelta=currm.intValue()*60 currs.intValue()-fixm*60-fixs;
if((timedelta60)(clickflag==true)){//若当前时间与闹钟相差时间达到60秒
chirp.play();
g.drawImage(clock7,83,280,this);
}
else{
chirp.stop();
clickflag=false;
}
}
if(lasts!=s)
ipAu.play();//播放滴答声
lasts=s;
if(canPaint){
t =1;
if(t==12)t=0;
}
canPaint=false;
dat=null;
}
public void start(){
if(timer==null){
timer=new Thread(this);//将timer实例化
timer.start();
}
}
public void stop(){
timer=null;
}
public void run(){
while(timer!=null){
try{timer.sleep(timeout);}catch(InterruptedException e){}
canPaint=true;
repaint();//刷新画面
}
timer=null;
}
public void update(Graphics g){ //采用双缓冲技术的update()方法
if(offscreen_buf==null)
offscreen_buf=createImage(600,420);
Graphics offg=offscreen_buf.getGraphics();
offg.clipRect(1,1,599,419);
paint(offg);
Graphics ong=getGraphics();
ong.clipRect(1,1,599,419);
ong.drawImage(offscreen_buf,0,0,this);
}
public boolean action(Event evt,Object arg){//按钮事件处理函数
if(evt.target instanceof Button){
String lable=(String)arg;
if(lable.equals("开")){
setalerm=true;
//获取输入的时间
fixh=Integer.valueOf(sethour.getText()).intValue();
fixm=Integer.valueOf(setmin.getText()).intValue();
fixs=Integer.valueOf(setsec.getText()).intValue();
clickflag=false;
}
if(lable.equals("关")){
setalerm=false;
if(chirp!=null)
chirp.stop();
clickflag=false;
}
return true;
}
return false;
}
}
java中怎么输出响铃声到设置里,找到关于java的设定,“声音:开启”就哦了,摩托手机的在设置里面的最后几个 , 比较杂牌的在java里 , 诺基亚在设置里
Java编程/*1、类与对象的基础题:
1)编程实现:以电话Phone为父类(例:电话有本机号码、打电话、接电话等属性和功能 ,
当然还有一些其它的特性),移动电话Mobilephone和固定电话Fixedphone为两个子类,
并使移动电话实现接口:可移动Moveable 。固定电话又有子类:无绳电话Cordlessphone 。
设计并定义这四个类(Phone、Mobilephone、Fixedphone、Cordlessphone)和一个接口(Moveable),
明确它们的继承关系 , 定义子类时给出子类有别于父类的新特性 。
*/
class Phone {//定义一个Phone类,其属性为电话号码,方法有打电话和接电话
private String phonenum;
public void callPhone() {}
//无参的构造方法
Phone() {}
//有参的构造方法 以后相似
Phone(String s) {
System.out.println("phonenum = "s);
}
public void acceptPhone() {
System.out.println("父类方法");
}
}
//定义Mobilephone类,从Phone类继承,实现了Moveable接口
//实现接口要重写其中的全部方法,因为没有给出Moveable接口中的方法 , 所以就没写,即编译也不会成功,若想看到结果把下面的implements Moveable注释掉
class MobilePhone extends Phone implements Moveable {
private String cellnum;
public void callPhone() {}//重写父类方法
public void setRing() {} //设置铃声
public void playGame() {} //玩游戏
MobilePhone(String s,String s1) {
super(s);
System.out.println("cellphone = "s1);
}
}
//定义Fixedphone类 , 从Phone类继承
class FixedPhone extends Phone {
private String fixednum;
private String s;
FixedPhone() {}
FixedPhone(String s,String s2) {
super(s);
System.out.println("fixednum = "s2);
}
public void acceptPhone() {
System.out.println("实现了多态性");
}//重写父类方法
public void selectNum() {
}
}
//定义Fixedphone子类
class CordlessPhone extends FixedPhone {
private char num;
public void setPassword() {} //设置密码
CordlessPhone() {
super();
}
CordlessPhone(String s2,String s3,char s4) {
super(s2,s3);
System.out.println("num = "s4);
}
}
/*2)声明测试类:声明Phone类的数组(含5个元素),
生成五个对象存入数组:其中二个Phone类的对象、一个Mobilephone类的对象、一个Fixedphone类的对象和一个Cordlessphone类的对象,
打印输出每个对象的某个成员变量 。将一个父类的引用指向一个子类对象,用这个塑型后的对象来调用某个方法实现多态性 。*/
public class Test {
public static void main(String[] args) {
Phone[] p = new Phone[5];
p[0] = new Phone("123");
p[1] = new Phone("456");
p[2] = new MobilePhone("123456","138xxxxxxxxx");
p[3] = new FixedPhone("5861","5861xx");
p[4] = new CordlessPhone("5861xxx","12333",'5');
Phone p1 = new FixedPhone();//将一个父类引用指向子类对象
p1.acceptPhone();//调用方法 实现多态性
}
}
关于java代码加铃声和给java代码添加音乐的代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读