分享

java复习题

 昵称50609493 2018-10-10

一、 问答题

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,它有两个成员变量xy;建立平面声的两个点对象sourcetarget,输出它们的坐标以及它们之间的距离。 答案:

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页

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多