一、 问答题
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、何为流,根据流的方向,流可分为哪两种,
答案:流是在计算机的输入、输出操作中流动的数据序列。
根据流的方向,可以分为输入流(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( );
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
号”,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
}
联系客服