- 36.00 KB
- 2022-07-30 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
1.为什么在Java程序中要使用类的概念?在面向对象的编程语言中,类是一个独立的程序单位,具有相同属性和方法的一组对象的集合。类标识定义了类的名字,属性描述对象的静态特征,方法描述相同对象的动态特征。2.为什么在Java程序中要使用对象的概念?客观世界是由一些具体的事物构成的,每个事物都具有自己的一组静态特征(属性)和一组动态特征(行为)。把客观世界的这一事实映射到面向对象的程序设计中,则把问题域中的事物抽象成对象,把事物的静态特征抽象成一组数据,把事物的动态特征抽象成一组方法。对象标识描述对象的名称,属性描述对象的静态特征,方法描述对象的动态特征。3.解释Java程序中类和对象的关系?类和对象的关系如同一个模具与用这个模具铸造出来铸件之间的关系一样。我们可以把类和对象的关系看成抽象与具体的关���。在面向对象的程序设计中,对象被称作的一个实例,而类是对象的模板。4.比较实例变量与类变量的不同之处,并且解释变量的含义?不同之处:实例变量没有static修饰,而类变量有static修饰。变量的含义:变量是在程序的运行过程中其值可以被改变的量。5.比较实例方法与类方法的不同之处,并且解释方法的含义?不同之处:实例方法没有static修饰,而类方法有static修饰。方法的含义:方法描述对象所具有的功能或操作,反映对象的行为,具有某种相对独立的功能的程序模块,对象通过它可以对传来的信息作出响应,完成特定功能。6.解释this关键字的使用过程(1)用来访问当前对象的数据成员(2)用来访问当前对象的成员方法(3)当有重载的构造方法时,用来引用同类的其他构造方法7.解释super关键字的使用过程(1)用来访问直接父类隐藏的数据成员(2)用来调用直接父类中被覆盖的成员方法(3)用来调用直接父类的构造方法8.解释构造函数的特点?(1)构造方法的方法名与类名相同(2)不能对构造方法指定类型(3)构造方法可以重载(4)构造方法可以继承9解释构造函数的继承和重载有何特点?构造函数的继承特点:构造函数的重载特点:方法名相同但是参数的个数、参数的数据类型或参数的顺数不同10.解释Java程序输入输出的过程?利用输入流类可以建立流对象,利用输入流类提供的成员方法可以从输入设备上将数据读入到程序中。利用输出流类可以建立输出流对象,利用输出流类提供的成员方法可以将程序中产生的数据写到输出设备上。11.解释Java程序中事件处理的过程?事件源产生一个事件,并把这个事件发送到一个或多个监听程序,监听程序只是等待这个事件并处理它,然后返回。程序把事件���\n处理“委托”给一段代码。监听程序必须注册一个事件源,才能接收这个事件,这个过程是自动的。监听者对象就可以根据产生该事件的对象来决定处理事件的方法。1.试利用for循环编写出一个能产生如下图结果的程序。请先绘制出流程图后,根据流程图编写程序。122333444455555publicclassTestFor{publicstaticvoidmain(String[]args){for(inti=1;i<=5;i++){for(intj=1;j<=i;j++){System.out.print(i);}System.out.println("");}}}假设有一条绳子长3000米,每天剪去一半的长度,请问需要花费几天的时间,绳子的长度会短于5米?请先绘制出流程图后,根据流程图编写程序。publicclassTestFor2{publicstaticvoidmain(String[]args){intlen=3000;inti=0;while(true){if(len<5){System.out.println(i);break;}else{len=len/2;i++;}}}}1.编写一个课程类Cource,包含:3个成员变量:课程编号(cNumber)、课程名(cName)和学分数(cUnit);1个方法:printCourceInfo:用于输出课程的相关信息;publicclassCCourse{privateintcNumber;privateStringcName;privateintcUnit;publicCCourse(intnumber,Stringname,int\nunit){this.cNumber=number;this.cName=name;this.cUnit=unit;}publicvoidsetNumber(intnumber){this.cNumber=number;}publicvoidsetName(Stringname){this.cName=name;}publicvoidsetUnit(intunit){this.cUnit=unit;}publicintgetNumber(){returnthis.cNumber;}publicStringgetName(){returnthis.cName;}publicintgetUnit(){returnthis.cUnit;}publicvoidprintCourceInfo(){System.out.println("课程编号为"+this.cNumber);System.out.println("课程名为"+this.cName);System.out.println("学分数为"+this.cUnit);}}2.编写Cource类的测试程序,创建课程对象:编号为112101,课程名为Java程序设计,学分为3。要求输出课程的相关信息。publicclassTestCourse{publicstaticvoidmain(String[]args){CCoursecc=newCCourse(112101,"Java程序设计",3);cc.printCourceInfo();}}3.将上题创建的Cource的3个成员变量改为私有,并为其添加相应的set和get方法。要求编写其测试程序。publicvoidsetNumber(intnumber){this.cNumber=number;}publicvoidsetName(Stringname){this.cName=name;}publicvoidsetUnit(intunit){this.cUnit=unit;}publicint\ngetNumber(){returnthis.cNumber;}publicStringgetName(){returnthis.cName;}publicintgetUnit(){returnthis.cUnit;}4.为上题的Cource类添加构造器方法,用于初始化课程编号、课程名和学分。并修改测试程序。publicvoidprintCourceInfo(){System.out.println("课程编号为"+this.cNumber);System.out.println("课程名为"+this.cName);System.out.println("学分为"+this.cUnit);}试设计一个Cbox类,具有length、width与height三个整数的数据成员,并完成下列的程序设计:定义四个方法,分别为setlength()、setwidth()、setheight()、setall()。注意参数的不同publicclassCbox{publicintwidth=0;publicintheight=0;publicintlength=0;publicCbox(intwidth,intheight,intlength){this.width=width;this.height=height;this.length=length;}publicvoidsetwidth(){}publicvoidsetheight(){}publicvoidsetlength(){}publicvoidsetall(){}将上面四个方法,通过方法的重载来实现。将(2)当中的方法转变为构造函数的形式publicvoidsetwidth(intwidth){this.width=width;}publicvoidsetheight(intheight){this.height=height;}publicvoidsetlength(intlength\n){this.length=length;}publicvoidsetall(intwidth,intheight,intlength){this.width=width;this.height=height;this.length=length;}在(3)当中加入计算Cbox对象的体积,方法名为volume()。publicintvolume(){return(this.width*this.height*this.length);}在(4)当中加入计算Cbox对象的表面积,方法名为surfaceArea()。publicintsurfaceArea(){return2*(this.width+this.height+this.length);}在前面所有的程序中都通过show()方法输出结果。publicvoidshow(){System.out.println("width="+this.width+"height="+this.height+"length="+this.length);System.out.println("this.volume="+this.volume()+"this.surfaceArea="+this.surfaceArea());}}根据对象数组补充程序,主类格式如下:publicclassapp3_11{publicstaticvoidmain(Stringargs[]){Peoplep[]=newPeople[6];p[0]=newStudent(12005,"张三","男",22,"计算002");p[1]=newStudent(12005,"李四","男",23,"计算002");p[2]=newStudent(12005,"王五","男",24,"计算002");p[3]=newTeacher(22002,"李志","男",32,"教师","信息系");p[4]=newTeacher(22002,"张强","男",33,"教师","信息系");p[5]=newTeacher(22002,"王锋","男",34,"教师","信息系");for(inti=0;i