文档库 最新最全的文档下载
当前位置:文档库 › java复习题 3

java复习题 3

java复习题 3
java复习题 3

一选择题

1、下面哪些语句含有语法错误? B

A、int []c[]=new int[5][5];

B、int [][]d=new int[5,5];

C、int a[][]=new int [5][5];

D、int [][]b=new int[5][5];

2、下面哪些语句会发生编译错误?D

A、int []a ;

B、int d[]=null;

C、int[]b=new int[10];

D、int c[]=new int[];

3、下列的哪个赋值语句是不正确的?B

A、float d = 3.14f ;

B、float f = 11.1;

C、double d = 5.3E12;

D、double f=11.1E10f;

4、下列属于JAVA关键词的是( B.C )

A)TRUE B)float C)goto D)NULL

5、在java中语句:37.2%10的运算结果为( A )

A)7.2 B)7 C)3 D 0.2

6、以下数组定义,错误的是( C )

A) int b[5] B) int b[]={1,2,3,4,5}

C) int b[]=new int[10] D) int b[]; b=new int[10]

7、在java中,字符串由https://www.wendangku.net/doc/6f1093792.html,ng.StringBuffer和( B )定义

A)https://www.wendangku.net/doc/6f1093792.html,ng.StringChar

B)https://www.wendangku.net/doc/6f1093792.html,ng.String

C)java.io.StringChar

D)java.io.String

8、下面程序定义了一个类,关于该类说法正确的是(B)

abstract class abstractClass{ …… }

A) 该类能调用new abstractClass(),方法实例化为一个对象

B) 该类不能被继承

C) 该类的方法都不能被重载

D) 以上说法都不对

9、下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问? B

A、private

B、无修饰符

C、public

D、protected

10、给出下列代码,如何使成员变量m 被方法fun(D)直接访问?

class Test

{

private int m;

public static void fun()

{

...

}

}

A、将private int m 改为protected int m

B、将private int m 改为int m

C、将private int m 改为public int m

D、将private int m 改为static int m

11、下面那个不是Java的关键字:( C )

A、 goto

B、 null

C、 TRUE

D、 if

E、 const

12、下面哪个是byte类型的值的范围:( C )

A、 0-128

B、 0~127

C、 -128-127

D、 -128-0

13、Java语言在语言类型上应该属于那种类型的语言:( A )

A、编译型的语言

B、解释型的语言

C、脚本型的解释语言

D、编译链接型的语言

14、给出下面的代码:

if (x>0) { System.out.println("first"); }

else if (x>-3) { System.out.println("second"); }

else { System.out.println("third"); }

当x 在什么范围内,会输出:second:( D )

A、 x > 0

B、 x > -3

C、 x <= -3

D、 x <= 0 && x > -3

15、下列关于注释语句的描述中,正确的一项是 ( C )

下列关于注释语句的描述中,正确的一项是

A、以//开始的是多行注释语句

B、以/*开始,*/结束的是单行注释

C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句

D、以/**开始,*/结束的是单行注释语句

16、下列关于继承的哪项叙述是正确的?A.D

A、在java中允许多重继承

B、在java中一个类只能实现一个接口

C、在java中一个类不能同时继承一个类和实现一个接口

D、java的单一继承使代码更可靠

17、给出下列代码,则数组初始化中哪项是不正确的?A

byte[]array1,array2[];

byte array3[][];

byte [][]array4;

A、array2 = array1

B、array2=array3

C、array2=array4

D、array3=array4

18、下列Java常见事件类中哪个是鼠标事件类?B

A、InputEvent

B、MouseEvent

C、KeyEvent

D、WindowEvent

19、( C)类是所有异常类的父类。

A)Throwable B)Error C)Exception D)AWTError

20、对话框(JDialog)的缺省布局管理器就是( A )

A)流程布局(Flow Layout) B)卡布局(Card Layout)

C)边框布局(Border Layout) D)网格布局(Grid Layout)

21、线程调用了start()方法后,该线程将进入( B )状态。

A)死亡状态B)运行状态 C)阻塞状态 D)终止状态

22、下列属于文件输入输出类的是( A )

A) FileInputStream和FileOutputStream

B) BufferInputStream和BufferOutputStream

C) PipedInputStream和PipedOutputStream

D)以上都是

23、Java中,JDBC是指( A )

A)Java程序与数据库连接的一种机制

B)Java程序与浏览器交互的一种机制

C)Java类库名称

D)Java类编译程序

24、下列方法中哪个是执行线程的方法?A

A、run()

B、start()

C、sleep()

D、suspend()

25、顺序执行下列程序语句后,则b的值是C

String a="Hello";

String b=a.substring(0,2);

A、Hello

B、llo

C、Hel

D、null

26、某类的成员方法只能被自己调用,声明该函数恰当修饰符是:( B )

A、public

B、 private

C、 protected

D、 default

27、关于垃圾收集的哪些叙述是对的:(B)

A、程序开发者必须自己创建一个线程进行内存释放的工作。

B、垃圾收集将定期检查并释放不再使用的内存。

C、垃圾收集允许程序开发者明确指定并立即释放该内存。

D、垃圾收集能够在期望的时间释放被java对象使用的内存。

28、某java 程序的类定义如下:

public class MyPro extends BaseClass{ }

则该java源文件在存盘时的源文件名应为如下那一种( B )

A、mypro.java

B、 MyPro.java

C、MYPRO.java

D、MyClass.class

29、某类的成员方法只能被自己和儿子调用,声明该函数恰当修饰符是:( C )

A) public B) private C) protected D) default

30、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺

序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为 ( C ) A)隐藏 B)覆盖C)重载 D)封装

31、MyClass 类定义如下:

class MyClass{

public MyClass(int x){}

}

调用其中构造方法创建对象,如下方式哪个是正确的:( C )

A) MyClass myobj=new MyClass; B) MyClass myobj=new MyClass( );

C) Myclass myobj= new MyClass(1);D) MyClass myobj=new MyClass(1,2);

32、在类的说明符中,被指定为私有的数据可以被( C ) 访问。

A)程序中的任何函数 B)其他类的成员函数

C)类中的成员函数 D)生类中的成员函数

33、Java语言在语言类型上应该属于那种类型的语言:( A )

A)编译型的语言B)解释型的语言

C)脚本型的解释语言D)编译链接型的语言

34、关于垃圾收集的哪些叙述是对的:( B )

A)程序开发者必须自己创建一个线程进行内存释放的工作。

B)垃圾收集将定期检查并释放不再使用的内存。

C)垃圾收集允许程序开发者明确指定并立即释放该内存。

D)垃圾收集能够在期望的时间释放被java对象使用的内存。

35、下列各种java 中的构造函数定义,那些是错误的:( C )

A、 class MyClass{

public MyClass(){ }

}

B、class MyClass{

public MyClass(int x){ }

}

C、class MyClass{

public int MyClass(){ }

}

D、class MyClass{

public MyClass(int x, int y){ }

}

36、Point 类的定义:

class Point{

private int x , y ;

public Point (int x , int y){

this.x=x;

this.y=y;

}

}

其中的this 代表:( C )

A、类名Point

B、父类的对象

C、Point 类的当前对象

D、this 指针

37、实现一个继承接品https://www.wendangku.net/doc/6f1093792.html,ng.Runnable的类需要实现如下的哪些方法? B

A、start

B、run

C、wait

D、paint

38、在Java语言中,下面哪个布局管理器是Japplet的默认布局管理器A

A、BorderLayout

B、CardLayout

C、GridLayout

D、FlowLayout

39、给定如下代码:C

class Person {

String name, department;

int age;

public Person(String n){ name = n; }

public Person(String n, int a){ name = n; age = a; }

public Person(String n, String d, int a) {

department = d;

}

}

要在第三个构造函数的空白处填上一行代码使之能够调用第二个构造函数,这行代码应该是?

A、 Person(n,a);

B、this(Person(n,a));

C、 this(n,a);

D、 this(name,age).

40、以下关于构造函数的描述错误的是 ( A )

A)构造函数的返回类型只能是void型。

B)构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C)构造函数的主要作用是完成对类的对象的初始化工作。

D)一般在创建新对象时,系统会自动调用构造函数

41、下面哪个是byte类型的值的范围:( C )

A) 0-128 B) 0~127 C) -128-127D) -128-0

42、在Java中,关于final关键字的说法正确的是( A )

A)如果修饰变量,则一旦赋了值,就等同一个常量

B)如果修饰类,则该类只能被一个子类继承

C)如果修饰方法,则该方法能在子类中被覆盖

D)如果修饰方法,则该方法所在的类不能被继承

43、下列代码中,将引起编译错误的行是( B )

1)public class Exercise{

2) public static void main(String args[]){

3) float f=0.0;

4) f +=1.0;

5) }

6)}

A)第2行B)第3行 C)第4行 D)第6行

44、给定下列代码:D

public void test() {

try { oneMethod();

System.out.println("condition 1");

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("condition 2");

} catch(Exception e) {

System.out.println("condition 3");

} finally {

System.out.println("finally");

}

}

在方法oneMethod()运行正常的情况下棋结果应该是?A.D

A、 condition 1

B、 condition 2

C、 condition 3

D、 finally

45、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为 ( C )

A、隐藏

B、覆盖

C、重载

D、封装

46、以下关于构造函数的描述错误的是 ( A )

A、构造函数的返回类型只能是void型。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数

47、给定下列代码:

1 class Parent {

2 private String name;

3 public Parent(){}

4 }

5 public class Child extends Parent {

6 private String department;

7 public Child() {}

8 public String getValue(){return name;}

9 public static void main(String arg[]){

10 Parent p = new Parent();

11 }

12 }

上述代码的那些行将会导致错误:( D)

A、 line 3

B、 line 6

C、 line 7

D、line 8

E、line 10

48、MyClass 类定义如下:

class MyClass{

public MyClass(int x){}

}

调用其中构造方法创建对象,如下方式哪个是正确的:( C )

A、 MyClass myobj=new MyClass;

B、 MyClass myobj=new MyClass( );

C、Myclass myobj= new MyClass(1);

D、 MyClass myobj=new MyClass(1,2);

49、在类的说明符中,被指定为私有的数据可以被( C ) 访问。

A、程序中的任何函数

B、其他类的成员函数

C、类中的成员函数

D、派生类中的成员函数

50、使用哪一个布局管理器时,当Frame 的大小被改变时Frame 中的按钮的位置可能会被改

变? B

A、 BorderLayout

B、 FlowLayout

C、 CardLayout D. GridLayout

51、InetAddress 类不能用来? D

A、判断是否是一个IP 多点传送地址。

B、得到IP 地址的主机名

C、得到InetAddress 对象的地址

D、得到IP 地址对应的MAC 地址

52、关于static关键字,以下说法正确的是:B

A、static只能修饰变量,不能修饰方法

B、static 修饰的变量可以由类直接引用

C、static 修饰的变量只能由类引用,不能由对象直接引用。

D、多个同类的对象,对static 修饰的变量进行的修改时互不影响的。

53、对Java描述不正确的是: C

A、Java和C都是高级语言,Java是面向对象的语言,而C是面向过程的语言。

B、封装,继承。多态是Java的基本特征。

C、Java中有列表,类似于指针,因此Java中仍然可以用指针。

D、Java的构造方法,不同于Java的普通成员方法,构造方法是在用new关键字创建对象时,自动调用的。

54、以下说法正确的是:() D

A、如果同名方法,其参数的返回类型不同可以构成重载。

B、同一个类中,可以存在方法首部完全一样的方法,这叫重写。

C、构造方法可以被任意方法调用。

D、构造方法可以构成重载,所有构造方法都不能由返回类型,但可以对方法加修饰符。

55、以下说法不正确的是() C

A、子类对象可以直接赋值给父类对象。

B、父类对象不能赋值给子类对象,需要强制类型转换,转换后程序可以通过编译,但有运行错误。

C、抽象类中一定有抽象方法,抽象类不能创建实例。

D、有抽象方法的类一定是抽象类。

56、一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )

A. 2 3 1

B. 3 2 1

C. 3 1 2

D. 1 2 3

57、栈和队列的共同特点是( A)。

A、只允许在端点处插入和删除元素

B、都是先进后出

C、都是先进先出

D、没有共同点

58、下数据结构中哪一个是非线性结构?( D )

A、队列

B、栈

C、线性表

D、二叉树

59、面程序段

for(i=1;i<=n;i++)for(j=1;j<=i;j++)x=x+1;算法的时间复杂度为( B )。

A、O(n)

B、O(n2)

C、O(n*i)

D、O(n+i)

60、一个线性表,如果第一个元素的地址是100,每个元素的长度为2,则第5个元素的地址为( A )

A、108

B、110 C 、106 D、112

61、设一个栈的入栈序列是ABCD,则借助于一个栈所得到的出栈序列不可能是( D)。

A.ABCD B.DCBA C.ACDB D.DABC

62、以下数据结构中哪一个不是线性结构?(A)。

A.图B.队列C.栈D.线性表

63、线性表可以在以下哪个位置进行插入删除?(B)

A.开始位置B.尾部C、中间位置D、任意位置均可

64、队列是一种( A )的线性表。

A.先进先出B.先进后出C.只能插入D.只能删除

65、线性结构的链式存储结构中,地址是(B)

A、连续

B、不连续

C、可能连续,也可能不连续

D、和顺序存储一样

二问答题

1、什么是构造函数?构造函数的作用是什么?

构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员

进行初始化.构造函数具有一些特殊的性质

构造函数的作用是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋值。

2、类的继承中,子类和父类的关系

共享性:即子类可以共享父类的公共属性和方法。

差异性:即子类和父类一定会存在某些差异,否则就应父类、子类之间的对照关系该是通一个类。

层次性:即由Java规定的单继承性,每个类都处于继承

关系树种的某一个层面。

Java要求生命的每个类都有父类,当没有现实指定父类时,父类隐含为https://www.wendangku.net/doc/6f1093792.html,ng包中的Object类。一个父类可以同时拥有多个子类,这时这个父类实际上是所有子类的公共属性和方法的集合,而每个子类则是父类的特殊化,是在公共属性的基础上的功能扩展。Java不支持类的多重继承,只支持类的单继承,即每个子类只能有一个直接父类,类的层次为树状结构,Object类为树的根节结点。

3、this和super的作用是什么?

成员函数中定义了和成员变量中相同的变量时,引用成员变量要用this.

构造函数中调用同一个类的其他构造函数时用this

子类中覆盖了父类成员变量或成员函数时,在子类中调用父类的变量或函数要用super

子类的构造函数里调用直接父类的构造函数用super,不能用于调用间接父类的构造函数。

三、填空题

1、在一个Java源程序文件中,公共类可以有多个(填一个或多个),其

主类名若为Test,则该文件的文件名为 Test.java 。

6、Java中类成员的限定词有以下几种:private,public,__extends_,impiements(多态)。

7、main方法的声明格式包括__public static void main(String[] args)____。

8、根据程序的构成和运行环境的不同,Java程序分为两大类:Java Application(Java应用程序)_程序和__Java Applet (Java小程序)

_程序。

10、在java语言中,boolean型常量只有true和__false两个值。

9、Java的字符类型采用的是Unicode编码。

11、一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序并使用其虚拟机执行这个程序的字节码文件,应该顺序

执行如下两命令:_javac MyJavaApplication.java和java MyJavaApplication。

12、Java语言中的类是程序的基本单位。13、队列的插入操作是在队列的_后端进行,删除操作是在队列的____ 前端_____进行。14、abstract方法__ 不能 _____(不能或能)与final并列修饰同一个类

15、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally语句捕获并处理

16、_GridLayou t布局管理器是容器中各个构件呈网格布局,平均占据容器空间。

17、请写出下面程序的运行结果。

public class Test extends TT{

public void main(String args[]){

Test t = new Test("Tom");

System.out.println("Program is end!");

}

public Test(String s){

super(s);

System.out.println("How do you do?");

}

public Test(){

this("I am Tom");

}

}

class TT{

public TT(){

System.out.println("What a pleasure!");

}

public TT(String s){

this();

System.out.println("I am "+s);

}

}

结果:____what a pieasure!

I am TOM

How du you do?

Pragram is end! ___________

18、下面是一个计算器类的定义,请完成该类的实现

class Counter

{

int value;

public Counter(int number) //赋值

{ value=number;}

public void increment() //给原值加1

{ value=value+1;}}

public void decrement()//给原值减1

{ value=value-1;}

}

public int getValue() //返回计数值

{ return value;}

public void show() //显示计数值

{ System.out.println(value);}

19、定义一个Person类,含有姓名name和年龄age两个成员变量。定义一个Student,含有成绩g成员变量。程序填空。

class Test{

public static void main(String []args){

Student stu=new Student( “name”,g );

stu.show();

}

}

class Person{

public String name;

Public static int age;

public Person( string name,int age ) //带两个参数的构造方法

{

https://www.wendangku.net/doc/6f1093792.html,=name

This.age=age

}

public Person(String name){ //带一个参数的构造方法

https://www.wendangku.net/doc/6f1093792.html,=name

this.age=0;

}

public void show(){

System.out.println("姓名为:"+name);

System.out.println("年龄为:"+age);

}

}

class Student extends Person{

private int g;

public Student( String name,int g)

{

super (name)

This.g=g

}

public void show(){

System.out.println("姓名为:"+name);

System.out.println("年龄为:"+age);

System.out.println("成绩为:"+g);

}

四编程题

1、编程实现对10个整数,进行升序排序,并求最大值。Public static void main(string[]args){

int a[]=new[]{-65536,2,4,6,32,5345,124,25,365,345,0}; int t,i,j;

for (j=1;j〈=9;j++)

for (i=1;i〈=j;i++)

if (a[i]〉a[i+1]){

t=a[i];

a[i]=a[i+1]{

t=a[i];

a[i]=a[i+1]

a[i=1]=t;

}

for (i=1;i〈=10;i++);

System.out.println(a[i]);

System.out.println(“最大值:”+a[1])

2、编程实现将文件my.txt的内容,拷贝到D:\text.txt中。import.java.io.*

public class copy(){

public static void main(string arg[]){

int b=o

File Inputstream in=null;

File Outputstream out=null;

try{

in=new File Inputstream(“Sry:\\my.txt”)

Out=new Outputstream(“D:\\text.txt”)

while(b=in.read(1)!=(-1)){

out.write(b)

}

in.close();

out.close();

catch(Excpetion e){

System.out.println(“复制失败”);

System.exit(-1);

}

}

4、定义一个长方形类,含有成员变量:长length, 宽width;成员方法:构造方法,求面积方法。再定义一个长方体类Cube,从长方形类中继承,含有成员变量:高 height,成员方法:构造函数,求体积的方法。

Public class ``````````````````````````

````````````````````太多省略

6、编写程序,定义一个Person类,含有姓名name和年龄age两个成员变量。二个构造方法,分别带一个参数和两个参数,完成赋值功能。一个输出show()方法,输出姓名和年龄。

public class person {

String name;

int age;

public person(String name){

https://www.wendangku.net/doc/6f1093792.html,=name;

age=o;

}

public person(String name,int age){

https://www.wendangku.net/doc/6f1093792.html,=name;

this.age=age;

}

public void show(){

Sytemout.println(“姓名为:”+name);

Sytemout.println(“年龄为:”+age);

}

}

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

JAVA复习题 有答案

复习题 一、选择题 1、下列Java标志符中合法的是:() A H3_sum B -name C student# D 9_Hello123 2.Java源文件和编译后的文件扩展名分别为() A. .class和.java B. .java和.class C. .class和.class D. .java和.java 3.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A)继承性B)封装性C)多态性D)抽象性 4、用来引入包语句的关键词是:() A)import B)abstract C)package D)extends 5.对于小程序,当离开包含Applet的主页后又再返回时将调用()方法。A)start( ) B)init( ) C)destroy( ) D)stop( ) 6.下列对Java中的继承描述错误的说法是() A.子类只能有一个父类 B.子类可作为另一个子类的父类 C.子类可以访问父类的私有属性 D.子类继承父类的方法访问权限保持不变 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?( ) A)do-while循环B)for循环C)while循环D)以上都不是 8.定义数组String[] a={"ab","abc","abcd","abcde"},数组中a[1]指的是()。 A.ab B.abc C.abcde D.数组越界 9.如果希望组件从左往右,从上到下自动布局界面,应使用哪种布局?()A)没有B)BorderLayout C)FlowLayout D)GridLayout 10.下列说法正确的是() A. 最终类在特殊情况下可以有子类 B. 抽象类只能有一个子类 C. 多态可以通过方法重写和方法重载实现 D. 抽象类不可以声明成员变量和成员方法,只能声明抽象方法 11.下列语句中访问类的方法正确的是:() A)https://www.wendangku.net/doc/6f1093792.html, B)https://www.wendangku.net/doc/6f1093792.html,( ) C)book->name D)book_name 12.下列选项中哪个是类Pen的构造方法() A)public void Pen() {} B)public static Pen() {} C)public Pen() {} D)public static void Pen() {} 13.单击菜单触发的事件是?() A. ActionEvent B.ItemEvent C.MouseEvent D. KeyEvent 14.关于try/catch/finally结构的异常捕获和处理,说法错误的是()A)try部分是必须的B)catch部分也是必须的 C)可以有多个catch部分D)finally部分也是必须的

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

JAVA语言复习题及答案

14年(下)程序设计(JA V A语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的内容 (B) 保留原来pain()所画的内容 (C) 清除pain()以前所画的内容,再一次调用pain()方法 (D) 在pain()以前所画内容基础上,再一次调用pain()画新的内容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA考试复习题(附答案)

《现代程序设计》(JAVA)考试复习题 一、选择题 1、关于Java语言叙述错误的是:(C) A.Java语言具有跨平台性B.Java是一种面向对象的语言 C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象 2、以下叙述正确的是:(B) A.构造方法必须是public方法B.main方法必须是public方法 C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型 3、关于Java中数据类型叙述正确的是:(B) A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型D.Java中的指针类型和C语言的一样 4、设int x=1,float y=2,则表达式x / y的值是:(D) A.0 B.1 C.2 D.以上都不是 5、以下语句有语法错的是:(A) A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++); C.while (x>5); D.for(; ;); 6、关于类和对象的叙述正确的是:(A) A.Java的类分为两大部分:系统定义的类和用户自定义的类 B.类的静态属性和全局变量的概念完全一样,只是表达形式不同 C.类的成员至少有一个属性和一个方法D.类是对象的实例化 7、以下有关构造方法的说法,正确的是:(A) A.一个类的构造方法可以有多个B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用 D.构造方法可以和类同名,也可以和类名不同 8、以下有关类的继承的叙述中,正确的是:(D) A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性 9、void 的含义:(C ) A.方法体为空B.定义的方法没有形参 C.定义的方法没有返回值D.方法的返回值不能参加算术运算 10、关于Java中异常的叙述正确的是:(D ) A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的

Java程序设计试题及答案

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 3、关于下面代码的说法(C)是正确的 public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=; B、Double a=new Double C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.wendangku.net/doc/6f1093792.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java复习习题答案

P13 2.参照例1-2编写一个java applet程序,程序能在浏览器中显示“你好,Hello”。(见p11例1-2) P24 2.参照2-4编写一个java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。 import java.util.*; public class ZuoYe2_2{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); long chengji=1; int m=0; while(reader.hasNextInt()){ int x=reader.nextInt(); m=m+1; chengji=chengji*x; } System.out.println(m+"个数的乘积为"+chengji); } } P41 1.有一个函数Y=-1+2x,x<0;-1,x=0;-1+3x,x>0编写一个java应用程序,从键盘输入一个X值,程序输出Y值。import java.util.*; public class ZuoYe3_1{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); double y=0,x=0; x=reader.nextDouble(); if(x<0) y=-1+2*x; else if(x==0) y=-1; else if(x>0) y=-1+3*x; System.out.println(y); } } P41 2.编写一个java程序,使用while循环计算1-1000之间能被3和7同时整除的整数之和。 public class ZuoYe3_2{ public static void main(String args[]){ int sum=0,m=3,n=7,a=1; while(a<=1000){ if(a%m==0&&a%n==0) sum=sum+a; a++; } System.out.println("sum="+sum); } } P41 3.编写一个java程序,使用for循环计算8+88+888+8888+88888…的前十项和。 public class ZuoYe3_3{ public static void main(String args[]) {

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

Java试题及答案

1、在中如果声明一个类为,表示什么意思? 答:是最终的意思,可用于定义变量、方法和类但含义不同,声明为的类不能被继承。 2、父类的构造方法是否可以被子类覆盖(重写)? 答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。 3、请讲述和的区别。 答:类所定义的对象是用于存放“长度固定”的字符串。 类所定义的对象是用于存放“长度可变动”的字符串。

4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢? 答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。 5、结合视频5(多线程),分析()和()方法的区别。 答:睡眠的意思 : () 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。 等待的意思: 如果调用了 () 方法,线程将处于等待状态。 用于在两个或多个线程并发运行时。 6、谈谈你对抽象类和接口的理解。 答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。 他使用来继承。 接口:一个接口允许一个类从几个接口继承而来,程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是来实现。 7. 的接口和的虚类的相同和不同处。 由于不支持多继承,而有可能某个类或对象要使用分别在几

个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是,所有方法默认情况下是.一个类可以实现多个接口。 8. 垃圾回收的优点和原理。并考虑2种回收机制。 语言中一个显著的特点就是引入了垃圾回收机制,使程序员最头疼的内存管理的问题迎刃而解,它使得程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 9.谈谈,,的区别。 -修饰符(关键字)如果一个类被声明为,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为的,又被声明为的。将变量或方法声明为,可以保证它们在使用中不被改变。被声明为的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为的方法也同样只

相关文档