一、 问答题 1、 何为字节码,采用字节码的最大好处是什么, 答案:Java源程序经过编译器编译,产生的代码称为字节码。字节码是不可执行的程序代码,它必须有java虚拟机解释执行。 当java程序要在不同的系统上执行时,程序员不需要修改程序,只要使用不同的JVM即可运行,从而实现了java程序。
2、 为什么要为程序添加注释,在java程序中,如何添加注释, 答案:为了使程序容易理解,需要添加适当的说明,来解释程序的功能、变量的含义或其他信息,增加程序的可读性。这种说明称为注释,注释在编译时被编译器忽略。 Java中,可以按照以下方式给程序添加注释: (1)、单行注释。单行注释也叫双斜杠注释,即在注释内容前加双斜杠“//”,表示从“//”开始到本行结束都是注释内容。 (2)、多行注释。注释内容以“/*”开始,以“*/”结束。“/*”和“*/”必须成对出现,“/*”和“*/”之间的内容都是注释。
3、 什么是变量,变量名与变量值有什么区别, 答案: 变量:变量指在程序运行过程中其值可以改变的量。 区别:变量蕴涵有两个含义,其一是变量名,是用户为变量定义的标识符;其二是赋给变量的值,他存放在一变量标识符作为标记的存储位置。所以,变量名是用户定义的一个标识符,而变量的值是存储在系统的值。
4、 什么是类,如何设计一个类,类中包含那几个部分, 答案:(1)、类是对对象的抽象描述,是创建对象的模板。在程序设计中,将具体对象进行抽象处理变为程序中的“类”是编制程序的首要任务,同时也是程序设计优劣的关键。 (2)、设计类:通过对现实生活中的具体对象进行抽象和处理,设计出相应的“类”。 (3)、类由属性和方法组成。Java语言中,定义类的一般形式为 Class 类名 { 成员变量 成员方法 }
5、 什么是构造方法,构造方法有哪些特点, 答案:构造方法是类中方法名与类名相同的方法。当使用关键字new创建一个对象时,java系统自动调用构造方法去初始化这个新建对象,构造方法是类方法中特殊方法。 (1) 构造方法的名字与类名相同。构造方法不在程序中显式调用,当用户使用关键字new创建对象时,系统为对象分配存储区域并自动调用该方法对对象 1/25页 进行初始化操作。 (2) 构造方法是类方法的一阵特殊形式,它的主要作用是初始化对象中的成员变量。 (3) 构造方法没有返回值,方法名前面也没有void关键字。 (4) 一个类中可以定义多个拥有不同数量、不同类型参数的构造方法。
6、 子类能够继承父类的哪些成员变量和方法, 答案:在继承关系中,子类只能继承父类中非私有的成员变量和方法。所谓非私有成员变量和方法是指被除private以为的其他访问控制符修饰的成员变量和方法。
7、 重载与覆盖有什么不同, 答案:方法重载指在一个类中创建了多个方法,它们具有相同的方法名,但参数的个数不同、或参数的数据类型不同,或两者都不相同。 覆盖是指子类中定义的方法与父类中方法名相同,子类在调用这个同名方法时,默认是调用它自己定义的方法,而将从父类那里继承来的方法“覆盖”住,好像此方法不存在一样。如果一定要调用父类的同名方法,可以使用“super”关键字来指定。 重载和覆盖的不同之处是:重载是在一个类中有多个方法,方法名相同而参数不同;覆盖是指父类和子类中方法同名且拥有相同的参数列表,子类在调用时默认调用子类的同名方法而覆盖掉父类的方法。
8、 什么是抽象类,它的特点是什么, 答案: 抽象类:抽象类是专门设计用来让子类继承的类。 特点:抽象类通常都包括一个或多个抽象方法(只有方法说明,没有方法体),抽像类的子类必须实现其父类定义的每个抽象方法,除非该子类也是抽象类。
9、 什么是接口,它的特点是什么, 答案: 接口:是由一些抽象方法和常量所组成的集合。 特点: (1) 接口可以实现多继承。多继承可以通过在extends后面使用多个父接口来实现。 (2) 接口不存在最高层,与类的最高层为Object类是不同的。 (3) 接口中的方法都是使用abstract修饰的方法。 (4) 接口中的成员变量默认为final定义的常量。
10、何为异常,为什么要进行异常处理, 答案:异常指程序运行过程中出现的非正常行为,例如用户输入错误、除数为零等。 由于异常情况总是难免的,良好的应用程序具备用户所要求的基本功能外,还应该具备预见并处理可能发生的各种异常的功能。为了使程序具有较强的容错能力,使引入了异常处理技术。所以,开发应用程序时要充分考虑各种意外情况, 2/25页 使程序具有较强的容错能力。这种对异常情况进行处理的技术称为异常处理
11、何为流,根据流的方向,流可分为哪两种, 答案:流是在计算机的输入、输出操作中流动的数据序列。 根据流的方向,可以分为输入流(input stream)和输出流(output stream)。输入流是从键盘、磁盘文件流向程序的数据流,为程序提供输入信息。输出流是从程序流向显示器、打印机、磁盘文件的数据流,实现程序的输出功能。
二、大题 1、设计一个描述二维平面上点的类Position,它有两个成员变量x,y;建立平面声的两个点对象source和target,输出它们的坐标以及它们之间的距离。 答案: Class Position { private int x,y; Position(int a,int b) { X=a;y=b } public int getX( ) { Return x; } public int getY( ) { Return y; } public double distance(Position p,Position q) { return Math.sqrt((p.getX( )-q.getY( ))*(p.getX( )-q.getY( )) +(p.getX( )-q.getY( ))*(p.getX( )-q.getY( ))); } public static void main(String args[ ]) { int x1, x2,y1,y2; double dis; Position source=new Position(0,0); Position target=new Position(5,8); x1=source.getX( ); y1=source.getY( ); x2=target.getX( ); y2=target.getY( ); 3/25页 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(密码)。 答案: import java.util.*; public class Bankbook { String name; long identity; String address; int balance; Date date; boolean hasPassword; long password; Bankbook(String str1,long i,String str2,int m,Date d,boolean y,long p) { name=str1; identity=i; address=str2; balance=m; date=d; hasPassword=y; password=p; } public void show( ) { System.out.println(“基本信息”); System.out.println(name+” ”+identity+” ”+address); System.out.println(balance+” “+date+“ “+hasPassword+” “+password); } public static void main(String args[ ]) { bankbook zhangsan=new bankbook(“zhangsan”,1234567890,”西安市兴庆路10 4/25页 号”,1000,newDate( ),true,123456); zhangsan.show( ); } }
3、设计一个交通工具类Vehicle,其中的属性包括speed、类别kind、颜色color、 方法包括设置速度、设置颜色、取得类别、取得颜色。创建Vehicle的对象,为 其设置新速度和颜色,并显示其状态(所有属性)。 答案: public class Vehicle { String color; String kind; int speed; Vehicle( ) { color=”Red”; kind=”卡车”; speed=0; } public void setColor(String color1) { color=color1; } public void setSpeed(int speed1) { speed=speed1; } public void setKind(String kind1) { kind=kind1; } public String getColor( ) return color } public String getKind( ) { return kind; } public String getSpeed( ) return speed } 5/25页 |
|
来自: 昵称50609493 > 《待分类》