您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > JAVA复习题-3-(2)
一、问答题1、何为字节码?采用字节码的最大好处是什么?答案:Java源程序经过编译器编译,产生的代码称为字节码。字节码是不可执行的程序代码,它必须有java虚拟机解释执行。当java程序要在不同的系统上执行时,程序员不需要修改程序,只要使用不同的JVM即可运行,从而实现了java程序。2、为什么要为程序添加注释?在java程序中,如何添加注释?答案:为了使程序容易理解,需要添加适当的说明,来解释程序的功能、变量的含义或其他信息,增加程序的可读性。这种说明称为注释,注释在编译时被编译器忽略。Java中,可以按照以下方式给程序添加注释:(1)、单行注释。单行注释也叫双斜杠注释,即在注释内容前加双斜杠“//”,表示从“//”开始到本行结束都是注释内容。(2)、多行注释。注释内容以“/*”开始,以“*/”结束。“/*”和“*/”必须成对出现,“/*”和“*/”之间的内容都是注释。3、什么是变量?变量名与变量值有什么区别?答案:变量:变量指在程序运行过程中其值可以改变的量。区别:变量蕴涵有两个含义,其一是变量名,是用户为变量定义的标识符;其二是赋给变量的值,他存放在一变量标识符作为标记的存储位置。所以,变量名是用户定义的一个标识符,而变量的值是存储在系统的值。4、什么是类?如何设计一个类?类中包含那几个部分?答案:(1)、类是对对象的抽象描述,是创建对象的模板。在程序设计中,将具体对象进行抽象处理变为程序中的“类”是编制程序的首要任务,同时也是程序设计优劣的关键。(2)、设计类:通过对现实生活中的具体对象进行抽象和处理,设计出相应的“类”。(3)、类由属性和方法组成。Java语言中,定义类的一般形式为Class类名{成员变量成员方法}5、什么是构造方法?构造方法有哪些特点?答案:构造方法是类中方法名与类名相同的方法。当使用关键字new创建一个对象时,java系统自动调用构造方法去初始化这个新建对象,构造方法是类方法中特殊方法。(1)构造方法的名字与类名相同。构造方法不在程序中显式调用,当用户使用关键字new创建对象时,系统为对象分配存储区域并自动调用该方法对对象进行初始化操作。(2)构造方法是类方法的一阵特殊形式,它的主要作用是初始化对象中的成员变量。(3)构造方法没有返回值,方法名前面也没有void关键字。(4)一个类中可以定义多个拥有不同数量、不同类型参数的构造方法。6、子类能够继承父类的哪些成员变量和方法?答案:在继承关系中,子类只能继承父类中非私有的成员变量和方法。所谓非私有成员变量和方法是指被除private以为的其他访问控制符修饰的成员变量和方法。7、重载与覆盖有什么不同?答案:方法重载指在一个类中创建了多个方法,它们具有相同的方法名,但参数的个数不同、或参数的数据类型不同,或两者都不相同。覆盖是指子类中定义的方法与父类中方法名相同,子类在调用这个同名方法时,默认是调用它自己定义的方法,而将从父类那里继承来的方法“覆盖”住,好像此方法不存在一样。如果一定要调用父类的同名方法,可以使用“super”关键字来指定。重载和覆盖的不同之处是:重载是在一个类中有多个方法,方法名相同而参数不同;覆盖是指父类和子类中方法同名且拥有相同的参数列表,子类在调用时默认调用子类的同名方法而覆盖掉父类的方法。8、什么是抽象类?它的特点是什么?答案:抽象类:抽象类是专门设计用来让子类继承的类。特点:抽象类通常都包括一个或多个抽象方法(只有方法说明,没有方法体),抽像类的子类必须实现其父类定义的每个抽象方法,除非该子类也是抽象类。9、什么是接口?它的特点是什么?答案:接口:是由一些抽象方法和常量所组成的集合。特点:(1)接口可以实现多继承。多继承可以通过在extends后面使用多个父接口来实现。(2)接口不存在最高层,与类的最高层为Object类是不同的。(3)接口中的方法都是使用abstract修饰的方法。(4)接口中的成员变量默认为final定义的常量。10、何为异常?为什么要进行异常处理?答案:异常指程序运行过程中出现的非正常行为,例如用户输入错误、除数为零等。由于异常情况总是难免的,良好的应用程序具备用户所要求的基本功能外,还应该具备预见并处理可能发生的各种异常的功能。为了使程序具有较强的容错能力,使引入了异常处理技术。所以,开发应用程序时要充分考虑各种意外情况,使程序具有较强的容错能力。这种对异常情况进行处理的技术称为异常处理11、何为流?根据流的方向,流可分为哪两种?答案:流是在计算机的输入、输出操作中流动的数据序列。根据流的方向,可以分为输入流(inputstream)和输出流(outputstream)。输入流是从键盘、磁盘文件流向程序的数据流,为程序提供输入信息。输出流是从程序流向显示器、打印机、磁盘文件的数据流,实现程序的输出功能。二、大题1、设计一个描述二维平面上点的类Position,它有两个成员变量x,y;建立平面声的两个点对象source和target,输出它们的坐标以及它们之间的距离。答案:ClassPosition{privateintx,y;Position(inta,intb){X=a;y=b}publicintgetX(){Returnx;}publicintgetY(){Returny;}publicdoubledistance(Positionp,Positionq){returnMath.sqrt((p.getX()-q.getY())*(p.getX()-q.getY())+(p.getX()-q.getY())*(p.getX()-q.getY()));}publicstaticvoidmain(Stringargs[]){intx1,x2,y1,y2;doubledis;Positionsource=newPosition(0,0);Positiontarget=newPosition(5,8);x1=source.getX();y1=source.getY();x2=target.getX();y2=target.getY();System.out.println(“第一个点的坐标:(“+x1+”,”+y1+”)”);System.out.println(“+x2+”,”+y2+”)”);dis=source.distance(source,target);System.out.println(“两点之间的距离是:”+dis);}}2、设计一个活期存折类,其中包括成员变量name(姓名)、indentity(编号)、address(家庭住址)、balance(存款额)、date(办理日期)、hasPassword(是否要密码)和password(密码)。使活期存折了创建对象,为zhangsan办理一个活期存折,其成员变量的值分别为zhangsan(姓名)、1234567890(编号)、西安市兴庆路10号(家庭住址)、1000(存款额)、当天日期(办理日期)、true(是否要密码)、123456(密码)。答案:importjava.util.*;publicclassBankbook{Stringname;longidentity;Stringaddress;intbalance;Datedate;booleanhasPassword;longpassword;Bankbook(Stringstr1,longi,Stringstr2,intm,Dated,booleany,longp){name=str1;identity=i;address=str2;balance=m;date=d;hasPassword=y;password=p;}publicvoidshow(){System.out.println(“基本信息”);System.out.println(name+””+identity+””+address);System.out.println(balance+”“+date+““+hasPassword+”“+password);}publicstaticvoidmain(Stringargs[]){bankbookzhangsan=newbankbook(“zhangsan”,1234567890,”西安市兴庆路10号”,1000,newDate(),true,123456);zhangsan.show();}}3、设计一个交通工具类Vehicle,其中的属性包括speed、类别kind、颜色color、方法包括设置速度、设置颜色、取得类别、取得颜色。创建Vehicle的对象,为其设置新速度和颜色,并显示其状态(所有属性)。答案:publicclassVehicle{Stringcolor;Stringkind;intspeed;Vehicle(){color=”Red”;kind=”卡车”;speed=0;}publicvoidsetColor(Stringcolor1){color=color1;}publicvoidsetSpeed(intspeed1){speed=speed1;}publicvoidsetKind(Stringkind1){kind=kind1;}publicStringgetColor()returncolor}publicStringgetKind(){returnkind;}publicStringgetSpeed()returnspeed}publicstaticvoidmain(String[]args){VehicleBMW=newVehicle();BMW.setColor(“Black”);BMW.setSpeed(150);BMW.setKind(“跑车”);System.out.println(“有一辆“+BMW.getColor()+”的“+BMW.getKind()+”行驶在高速公路上“);System.out.println(“时速“+BMW.getSpeed()+”km/h”);}}4、设计实现地址功能的类Address。Address具有属性:省、市、街道、门牌号、邮编,具有能设置和获取属性的方法。答案:publicclassAddress{Stringprovince;Stringcity;Stringstreet;StringdoorNo;StringpostCode;publicvoidsetProvince(Stringprovince1){province=province1;}publicvoidsetCity(Stringcity1){city=city1;}publicvoidsetStreet(Stringstreet1){street=street1;}publicvoidsetDoorNo(StringdoorNo1){doorNo=doorNo1;}publicvoidsetpostCode(StringpostCode1){postcode=postCode1;}publicstaticvoidmain(String[]args){Addressaddr=newAddress();addr.setProvince(““);addr.setCity(““);addr.setStreet(““);addr.setDoorNo(““);addr.setPostCode(““);System.out.println(“Province:“+addr.getProvince());System.out.println(“City:“+addr.getCity());System.out.println(“Street:“+addr.getStreet());System.out.println(“DoorNo:“+addr.getDoorNo());System.out.println(“PostCode:“+addr.getPostCode());}}5、设计一个学生类Sutdent,其属性有nam
本文标题:JAVA复习题-3-(2)
链接地址:https://www.777doc.com/doc-5232295 .html