java基本问答题共享.doc_第1页
java基本问答题共享.doc_第2页
java基本问答题共享.doc_第3页
java基本问答题共享.doc_第4页
java基本问答题共享.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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程序中事件处理的过程? 事件源产生一个事件,并把这个事件发送到一个或多个监听程序,监听程序只是等待这个事件并处理它,然后返回。程序把事件的处理“委托”给一段代码。监听程序必须注册一个事件源,才能接收这个事件,这个过程是自动的。监听者对象就可以根据产生该事件的对象来决定处理事件的方法。1.试利用for循环编写出一个能产生如下图结果的程序。请先绘制出流程图后,根据流程图编写程序。122333444455555 public class TestFor public static void main(String args) for(int i=1;i=5;i+)for(int j=1;j=i;j+)System.out.print(i);System.out.println();1.假设有一条绳子长3000米,每天剪去一半的长度,请问需要花费几天的时间,绳子的长度会短于5米?请先绘制出流程图后,根据流程图编写程序。public class TestFor2 public static void main(String args) int len=3000; int i=0; while(true) if(len5) System.out.println(i); break; else len=len/2; i+; 1编写一个课程类Cource,包含:3个成员变量:课程编号(cNumber)、课程名(cName)和学分数(cUnit);1个方法:printCourceInfo:用于输出课程的相关信息;public class CCourse private int cNumber; private String cName; private int cUnit; public CCourse(int number,String name,int unit) this.cNumber=number; this.cName=name; this.cUnit=unit; public void setNumber(int number) this.cNumber=number; public void setName(String name) this.cName=name; public void setUnit(int unit) this.cUnit=unit; public int getNumber() return this.cNumber; public String getName() return this.cName; public int getUnit() return this.cUnit; public void printCourceInfo() System.out.println(课程编号为+this.cNumber); System.out.println(课程名为+this.cName); System.out.println(学分数为+this.cUnit); 2编写Cource类的测试程序,创建课程对象:编号为112101,课程名为Java程序设计,学分为3。要求输出课程的相关信息。public class TestCourse public static void main(String args) CCourse cc=new CCourse(112101,Java程序设计,3);cc.printCourceInfo();3将上题创建的Cource的3个成员变量改为私有,并为其添加相应的set和get方法。要求编写其测试程序。public void setNumber(int number) this.cNumber=number; public void setName(String name) this.cName=name; public void setUnit(int unit) this.cUnit=unit; public int getNumber() return this.cNumber; public String getName() return this.cName; public int getUnit() return this.cUnit; 4为上题的Cource类添加构造器方法,用于初始化课程编号、课程名和学分。并修改测试程序。 public void printCourceInfo() System.out.println(课程编号为+this.cNumber); System.out.println(课程名为+this.cName); System.out.println(学分为+this.cUnit); 试设计一个Cbox类,具有length、width与height三个整数的数据成员,并完成下列的程序设计:(1) 定义四个方法,分别为setlength( )、setwidth( )、setheight( )、setall( )。注意参数的不同public class Cbox public int width=0; public int height=0; public int length=0; public Cbox(int width,int height,int length) this.width=width; this.height=height; this.length=length; public void setwidth() public void setheight( ) public void setlength( ) public void setall() (2) 将上面四个方法,通过方法的重载来实现。(3) 将(2)当中的方法转变为构造函数的形式 public void setwidth(int width ) this.width=width; public void setheight(int height ) this.height=height; public void setlength(int length ) this.length=length; public void setall(int width,int height,int length ) this.width=width; this.height=height; this.length=length; (4) 在(3)当中加入计算Cbox对象的体积,方法名为volume( )。public int volume() return (this.width*this.height*this.length); (5) 在(4)当中加入计算Cbox对象的表面积,方法名为surfaceArea( )。 public int surfaceArea() return 2*(this.width+this.height+this.length); (6) 在前面所有的程序中都通过show( )方法输出结果。public void show( ) System.out.println(width=+this.width+ height=+this.height+ length=+this.length);System.out.println(this.volume=+this.volume()+ this.surfaceArea=+this.surfaceArea(); 根据对象数组补充程序, 主类格式如下: public class app3_11 public static void main(String args) People p=new People6; p0=new Student(12005,张三,男,22,计算002); p1=new Student(12005,李四,男,23,计算002); p2=new Student(12005,王五,男,24,计算002); p3=new Teacher(22002,李志,男,32, 教师,信息系); p4=new Teacher (22002,张强,男, 33, 教师,信息系); p5=new Teacher (22002,王锋,男, 34, 教师,信息系); for(int i=0;ip.length;i+) pi.ShowPeople(); 使其输出结果为:app3_11.java编号:1200520 姓名:张三 性别:男 年龄:22 班级:计算002编号:1200521 姓名:李四 性别:男 年龄:23 班级:计算002编号:1200522 姓名:王五 性别:男 年龄:24 班级:计算002下一位计算002班学生有效编号:1200523编号:2200200 姓名:李志 性别:男 年龄:32 职务:教师 部门:信息系编号:2200201 姓名:张强 性别:男 年龄:33 职务:教师 部门:信息系编号:2200202 姓名:王锋 性别:男 年龄:34 职务:教师 部门:信息系下一位信息系教师有效编号:2200203class People long Num; String Name; String Sex; int Ages; public People(long Num,String Name,String Sex,int Ages) this.Num=Num; this.Name=Name; this.Sex=Sex; this.Ages=Ages; public void ShowPeople() System.out.print( 姓名:+Name+ 性别:+Sex+ 年龄:+Ages); void Getnextid(int i) class Student extends People public long Num; static long nextNum=20; String ClassNo; public Student(long Num,String Name,String Sex,int Ages,String ClassNo) super(Num,Name,Sex,Ages); this.Num=nextNum+; this.ClassNo=ClassNo; public void ShowPeople() System.out.print(编号:+super.Num+this.Num+); super.ShowPeople(); System.out.println( 班号:+ClassNo); if(nextNum-Num=1) Getnextid(nextNum); void Getnextid(long i) System.out.println(下一位计算002班的有效编号:+super.Num+i); System.out.println(nn); class Teacher extends People public long Num; static long nextNum=0; String Principaship; String Deparment; public Teacher(long Num,String Name,String Sex,int Ages,String Principaship, String Deparment) super(Num,Name,Sex,Ages); this.Num=nextNum+; this.Princip

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论