重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个题考察的是面向对象三大特性之一的继承。
10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有朝阳免费网站建设让你可以放心的选择与我们合作。
子类继承父类。
项目结构如何所示:
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 的代码如下图所示:
最后一个类,也就是测试类,用于创建第二代手机的对象,并调用相应的功能,如下图所示:
最终,程序的运行结果如下图所示:
我是冯修远,如果我的答案对您有帮助的话,请采纳以帮助更多的人,如果还有其它的问题,也请关注我,私信我,谢谢!
首先到sun下载最新的jmf,然后安装。
然后,说一下需求
1. 用摄像头拍照
2. 在文本框输入文件名
3. 按下拍照按钮,获取摄像头内的图像
4. 在拍下的照片上有一红框截取固定大小的照片。
5. 保存为本地图像为jpg格式,不得压缩画质
技术关键,相信也是大家最感兴趣的部分也就是如何让一个摄像头工作,并拍下一张照片了。
利用jmf,代码很简单:
//利用这三个类分别获取摄像头驱动,和获取摄像头内的图像流,获取到的图像流是一个swing的component组件类
public static player player = null;
private capturedeviceinfo di = null;
private medialocator ml = null;
//文档中提供的驱动写法,为何这么写我也不知:)
string str1 = "vfw:logitech usb video camera:0 ";
string str2 = "vfw:microsoft wdm image capture (win32):0 ";
di = capturedevicemanager.getdevice(str2);
ml = di.getlocator();
try
{
player = manager.createrealizedplayer(ml);
player.start();
component comp;
if ((comp = player.getvisualcomponent()) != null)
{
add(comp, borderlayout.north);
}
}
catch (exception e)
{
e.printstacktrace();
}
接下来就是点击拍照,获取摄像头内的当前图像。
代码也是很简单:
private jbutton capture;
private buffer buf = null;
private buffertoimage btoi = null;
private imagepanel imgpanel = null;
private image img = null;
private imagepanel imgpanel = null;
jcomponent c = (jcomponent) e.getsource();
if (c == capture)//如果按下的是拍照按钮
{
framegrabbingcontrol fgc =(framegrabbingcontrol) player.getcontrol( "javax.media.control.framegrabbingcontrol ");
buf = fgc.grabframe(); // 获取当前祯并存入buffer类
btoi = new buffertoimage((videoformat) buf.getformat());
img = btoi.createimage(buf); // show the image
imgpanel.setimage(img);
}
保存图像的就不多说了,以下为示例代码
bufferedimage bi = (bufferedimage) createimage(imgwidth, imgheight);
graphics2d g2 = bi.creategraphics();
g2.drawimage(img, null, null);
fileoutputstream out = null;
try
{
out = new fileoutputstream(s);
}
catch (java.io.filenotfoundexception io)
{
system.out.println( "file not found ");
}
jpegimageencoder encoder = jpegcodec.createjpegencoder(out);
jpegencodeparam param = encoder.getdefaultjpegencodeparam(bi);
param.setquality(1f, false);//不压缩图像
encoder.setjpegencodeparam(param);
try
{
encoder.encode(bi);
out.close();
}
catch (java.io.ioexception io)
{
system.out.println( "ioexception ");
}
把.jar文件导入。下载了jmf后需要安装,安装后你的那个jmf目录下就会有一个lib文件夹里面有.jar文件,然后打开eclipse,右键选择你的工程-〉属性-〉java build path- library-〉add external jars 找到你的jmf目录下lib的那个文件夹然后选中那些文件导入就ok了。
然后利用工具提供的导入文件帮助,一个一个导就OK了
java程序软件拍照后不能自动开始需要手动开始。出场没有设置这项功能。Java程序运行时,必须经过编译和运行两个步骤。
1、将后缀名为.java的源文件进行编译,最终生成后缀名为.class的字节码文件。
2、Java虚拟机将编译好的字节码文件加载到内存(这个过程被称为类加载,是由加载器完成的)。
3、虚拟机针对加载到内存的java类进行解释执行,显示结果。
自己写一个“摄像头照相软件”的东西,然后实现了在web程序中调用摄像头,可以通过js代码控制拍照,通过ajax技术实现数据的上传,虽然我没有在asp.net程序中测试,但是应该支持.net技术,也可以实现在asp.net的项目中采集摄像头数据,例如用来通过摄像头拍照,拍些大头贴等