2021年java基础测试题及答案_第1页
2021年java基础测试题及答案_第2页
2021年java基础测试题及答案_第3页
2021年java基础测试题及答案_第4页
2021年java基础测试题及答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021年java基础测试题及答案

java基础测试题及答案1

一、单选题:(每道题目2分)

1、下列哪个声明是错误的?(B)

A、inti=10;

B、floatf=1.1;//fIoatf=1.1f

C>doubIed=34.4;

D>byteb=127;

long类型的数据加后缀L或者I

float类型的数据加后缀F或者千

整数默认是int类型

浮点数默认是doubIe类型

2、下面哪个不是java中的关键字?(C)

A、public

B、true

C、main

D、class

3、下面程序哪个语句是正确的(C)

A、bytea=0,b=3;bytec=a+b;//a+b的类型为int

B、shorts=23;s=s+12;

//s+12底层是转成int进行相加,所以结果为into

C、shorts=23;s+=12;//相当于s=(short)(s+12)

D、floatf=23+23.23;//23+23.23的结果为double

4、下面程序执行的结果是?(B)

classTest

(

pubIicstaticvoidmain(String[]args)

(

System,out.printIn(+匕'+1);

1

}

A、98

B、a1

C、971

D、197

〃空串放前相当于字符串的拼接,空串放后,匕,+1,先

做运算,再与空串进行拼接,byte,short,char可以自动转为

int,

5、下面程序执行的结果是?(B)

inti=100;

whiIe(true)

if(i++>100)//i先计算在自加

break;

}

System.out.println(i);

}

A、100

B、101

C、102

D、报错

6、下面程序的,运行结果是(D)

inta=3,b=1;

if(a=b)

(

System.out.println(na="+a);

1

A、a=1

B、a=3

C、编译错误

D、正常运行但没有输出

7、下面程序的运行后,结果正确的是:(B)

inta=1,b=2;

intc=(a+b>3?a++:++b);//a=1,b=3,c=3

A、a=2,b=3

==

B、319b3

C、a=1,b=2

D、c=2

8、下面程序的运行结果(B)

cIassDemo

(

pubIicstaticintfun(intc)

(

returnc+=2;

}

pubIicstaticvoidmain(String[]args)

(

inttemp=fun(2);

System,out.println(temp);

}

)

A、2

B、4

C、6

D、8

9、下面数组定义错误的是(C)

A、int[]arr={23,45,65,78,89};//静态初始化

B、int[]arr=newint[10];//动态初始化

C、int[]arr=newint[4]{3,4,5,6);

D、int[]arr={'a:23,45,6);

//匕'可以自动转为int,

10、下面程序执行的结果是?(D)

intx=1,y=1;

if(x++=2&++y==2)

//x=2,y=2,&与&&的结果相同但是&不具有短路效果

(

x=7;

)

System.out.println(l,x=M+x+H,y=*,+y);

A、x=1y=2

B、x=7y=1

C、x=7y=2

D>x=2y=2

11、下面不属于基本数据类型的是(D)

A、int

B、doubIe

C、long

D、int[]〃引用类型

12、下面程序执行的结果是?(C)

booleanb=true;

if(b=faIse)//将false赋值给b,则b=faIse

System.out.println(r,a");

}

elseif(b)

(

System.out.println(nbn);

}

elseif(!b)

(

System.out.println(McH);

}

else

(

System,out.println(ndn);

}

A、a

B、b

C、c

D、d

13、下面程序执行的结果是?(D)

intx=2,y=3;

switch(x)

(

default:

y++;//y=4,但是没有break,程序继续向下执行

case3:

y++;

case4:

y++;

}

Sysetem.out.println(My=M+y);

A、3

B、4

C、5

D、6

14、下面程序执行的结果

for(inti=1;i<=10;i++)

(

if(i%3=0)

continue;//continue跳出本次循环

}

System.out.println(ajava基础班”);

}

在屏幕上打印几次“java基础班”?(C)

A、5

B、6

C、7

D、8

15.阅读下面代码段:

cIassDemo

pubIicstaticvoidmain(String[]args)

int[]arr=newint[10];

System.out.println(arr[1]);

}

执行结果正确的说法是(C)

A、编译时将产生错误

B、编译时正确,运行时将产生错误

C、输出零

D、输出空

16.和下面代妈能完成相同的选项是(B)

inti=1;

intsum=O;

while(i<=100)

if(i%2=0)

(

sum=sum+i;

1

i++;

}

A、for(intx=1;x<=100;x++){sum=sum+x;}

B、for(intx=0;x<=100;x+=2){sum=sum+x;}〃偶

数求和

C、for(intx=1;x<=100;x+=2){sum=sum+x;)〃奇

数求和

D.上述全对

17、以下代码输出是(D)

inti=0;

intsum=0;

while(i<=10)

i++;

if(i%2!=0)

continue;

sum+=i;

}

System.out.printIn(sum);//sum=2+4+6+8+10

A、55

B、45

C、35

D、30

18、给出下列代码片段:

if(x>0){System,out.println(^Hellow);}

elseif(x>-3){System.out.pirntln(aIamTom");}

else{System.out.printIn("Howareyou?99);}

请问将打印字符串“Howareyou?”的x的范围是(C)

A、x>0

B、x>-3

C、x<=-3

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

19、下列代码执行的结果为(A)

cIassDemo

pubIicstaticvoidmain(String[]args)

intnum=max(43,34);//num=43

System.out.println(num);

}

pubIicstaticintmax(inta,intb)

(

returna>b?a:b;

1

}

A、43

B、23

C、77

D、9

20、下面程序执行的结果是(A)

classDemo

(

pubIicstaticvoidmain(String[]args)

(

inta=10;

if(a++>10)

a=20;

)

System,out.printIn(a);

}

}

A、11

B、12

C、20

D、21

21、下面哪项可以得到数组元素的个数,java中定义数组

名为abc,(B)

A、abc.Iength()B、abc.lengthC、Ien(abc)D、

abound(abc)

22、构造方法何时被调用(B)

A.类定义时B.创建对象时C.调用对象方法时D.使用对象

的变量时

23、下列语句片段inta=10,b=4,c=20,d=6;

System.out.printIn(a++*b+c*—d);的结果为(C)

A.144B.28C.140D.不能执行

24、下面哪个修饰符修饰的方法只能被本类中的其他方法使

用(C)

A、protectedB、staticC、privateD、pubIic

25、编译并运行下述程序段的结果是:(A)。

pubIicclassTest{

pubIicstaticvoidmain(Stringargv[]){int[]count

=newint[4];System,out.printIn(count[4]);}}

A.编译时错误B.运行时错误C.输出0D.输出null

26、在java的一个异常处理中,哪个语句块可以有多个

A、catchB、finallyC、tryD、throws

27、若在某一个类定义中定义有如下的方法:finalvoid

aFinalFunction();则该方法属于(C)。

A.本地方法B.静态方法C.最终方法D.抽象方法

28、哪个关键字可以抛出异常?(C)A、transientB、

finallyC、throwD、static

29、类Testi定义如下:

1)pubIicclassTesti{

2)pubIicfIoataMethod(floata,floatb){}3)

4)}将以下哪种方法插入行3是不合法的。(B)A、public

floataMethod(floata,floatb,floatc){}B、pubIic

fIoataMethod(floatc,floatd){}C、pubIicintaMethod

(inta,intb){}

D、privatefloataMethod(inta,intb,intc){}

30、Java程序的.执行过程中用到一套JDK工具,其中

java.exe是指(B)

A.Java文档生成器B.Java解释器C.Java编译器D.Java

类分解器

31、在异常处理中,如释放资源、关闭文件、关闭数据库等

由(C)来完成。

A.try子句B.catch子句-finally子句D.throw子句

32、定义一个类名为“MyClass.java”的类,并且该类可被

一个工程中的所有类访问,那么该类的正确声明应为:(C)

A.privateclassMyClassextendsObjectB.class

MyClassextendsObjectC.pubIicclassMyClass

D.protectedclassMyClassextendsObject

33、给出如下代码:

classTest{privateintm;

pubIicstaticvoidfun(){//somecode...}}

如何使成员变量m被函数fun()直接访问?(C)A、将

privateintm改为protectedintmB>将privateintm改

为pubIicintmC>将privateintm改为staticintmD>

将privateintm改为intm

34、A派生出子类B,B派生出子类C,并且在Java源代码

中有如下声明:1)AaO=newA();

2)Aa1=newB();3)Aa2=newC();

问以下哪个说法是正确的?(D)A.只有第1行能通过编

B.第1、2行能通过编译,但第3行编译出错

C.第1、2、3行能通过编译,但第2、3行运行时出错D.第

1行、第2行和第3行的声明都是正确的

35、下面哪个语句(初始化数组)是不正确的:(B)

A.intx[]={1,2,3};B.intx[3]={1,2,3);

C.int[]x={1,2,3};D.intx[]=newint[]{1,2,3);

36、下述概念中不属于面向对象方法的是(D)o

A.对象、消息B.继承、多态C.类、封装D.过程调用

37、下面哪条语句把方法声明为抽象的公共方法?(B)

A.publicabstractmethod();B.pubIicabstractvoid

method();0.publicabstractvoidmethod(){}D.publicvoid

method()extendsabstract;

38、在java中如果要在字符串类型对象s=“JAVA”,中找

出“V?出现的位置可使用下面哪个法:⑹A.mid(2,s);

B.charAt(2);C.s.indexOf(aV?);D.indexOf(s,?V?);

39、给出下面代码:

publicclassPerson{staticintarr[]=newint[10];

pubIicstaticvoidmain(Stringa[])

{System.out.printIn(arr[1]);})

哪个语句是正确的?(B)

A.编译时将产生错误;B.输出零;C.编译时正确,运行时

将产生错误;D.输出空。

java基础测试题及答案2

(总分100分,时间60分钟)

一、选择题GOx2分)

1.下列不可作为Java语言修饰符的是:()

A)a1

B)$1

C)」

D)11

2.整型数据类型中,需要内存空间最少的是:()

A)short

B)Iong

C)int

D)byte

3.double数据类型的默认值是多少?()

A)0

B)0.0

C)null

D)0.Od

4.对于变量intval=0b11010,System,out.printing"+val)

输出是多少?()(注:在Java7之后,可以用0b开头标识二

进制数)

A)26

B)64

C)28

D)32

5.Stringisan().

A)Class

B)Variable

C)Array

D)Datatype

6.WhichofthesemethodofStringclasscanbeusedto

testtostringsforequality?()

A)isequaI()

B)isequaIs()

C)equaI()

D)equaIs()

7.指出正确的表达式。()

A)byte=128;

B)BooIean=nuII;

C)longl=0xfffL;

D)doubled.9239d;

8.System类在哪个包中?()

A)java.utiI

B)java,lang

C)java,awt

D)java,io

9.下面哪种注释方法能够支持javadoc命令:()

A)/**.・.**/

B)/*...*/

C)//

D)/**.♦.*/

10.若2=8,则表达式a»>2的值是多少?()

A)1

B)4

C)3

D)2

二、填空题(15x2分)

1.Java程序的入口是main方法,它的参数是。

2.变量的3要素是变量名,和变量值。

3.JVM具体是指o

4.Java中的基本数据类型有种。

5.两个方法有相同的名称和参数,但返回值不同,是否是重载?

6.实现接口的不必实现接口中定义的全部方法。

7.包装类Integer和String类的相同点是,它们都是。

8.Java中有一个处理日期的类Date,但此类已不推荐再使用,

替代它的是o

9.final关键字修饰类表示类。

10.将字节流转换为字符流的两个类是o

11.FiIeInputstream使用读取文件,不能直接处理Unicode

字符。

12.Java中线程实现了接口。

13.线程可以主动调用sleep。方法或者方法主动放弃

CPUo

14.自定义的类UtiIs中,一个静态方法用关键字synchronized

修饰,该同步锁对应的对象是o

15.在Java网络编程中,TCP和UDP都基于。

三、代码阅读题(5x3分)

1.下面代码的作用是交换数组的第一个元素和最后一个元素,

改正其中的错误。

publicclassTest{

pubIicstaticvoidmain(String[]args){

int[]Iist=newint[]{4,4,5,2,7,11;

inttemp;//临时变量

//交换数组的第一个元素和最后一个元素

Iist[0]=temp;

temp=Iist[5];

Iist[5]=Iist[0];

}

}

2.分析以下代码,写出运行结果。

intnum=90;

System.out.print(num++);

doubIea=89.5;

intb=(int)a+10;

System,out.printIn(nn+b);

3.阅读以下代码:

classtest{

pubIicstaticvoidmain(String[]args){

Animalanimal=newCat();

animal,running();

}

]

classAnimal(

pubIicvoidrunningO{

System.out.printIn("AnimaIisrunning!");

1

}

classCatextendsAnimal{

pubIicvoidrunning(Stringtarget){

System,out.printIn("CatisrunningtoH+target);

1

pubIicvoidrunningO{

System,out.printIn("Catisrunning.");

1

)

它的运行结果是什么?

4.以下代码的运行结果是什么:

classHeiIoA{

publieHe11oA(){

System.out.println("He11oAn);

1

{System.out.printIn(HI1mAclass'1);}

static{System,out.println(nstaticA");}

)

pubIicclassHeiIoBextendsHe11oA{

publieHeIIoB(){

System.out.println(MHeIIoB");

1

{System.out.printIn(nI'mBclass");}

static{System,out.println(nstaticB");}

pubIicstaticvoidmain(String[]args){

newHeIIoB();

}

}

5.修改以下代码中的错误,改正后输出是多少?

interfaceRideable{

StringgetGait();

}

pubIicclassGameIimplementsRideable{

intweight=2;

pubIicstaticvoidmain(String[]args){

newGameI().go(8);

1

voidgo(intspeed){

++speed;

weight++;

intwalkrate=speed*weight;

System,out.print(waIkrate+getGait());

1

StringgetGait(){

returnnmph,lope”;

1

}

四、简答题(5x5分)

1.&和&&的区别。

2.简述接口和抽象类的区别。

3.简述TCP和UDP的区别。

4,什么是死锁(deadIock)?

5.Java中处理正则表达式的主要的类是Pattern和Matcher,

简述这两个类的功能。

五、综合题(10分)

1.Singleton模式:

什么是Singleton模式?举一个应用了单例模式的例子。

写一个单例模式的类,有getInstance方法。

请实现线程安全的单例模式。

请用doublecheckedlocking实现线程安全的单例模式。

如何防止通过反射实例化多个SingIetonClass的对象?

参考答案:

选择题(10x2分)

1、D2、D3、D4、A5、A6、D7、C8、B9、D10、D

二、填空题(15x2分)

字符串数组

变量类型

Java虚拟机

8

不是

抽象类

不可变的

Calendar

不可被继承

InputStreamReader和OutputStreamWriter

字节

Runnable

yieId()

Utils.class

Socket

三、代码阅读题(5x3分)

temp没有赋初值

9099

Catisrunning.

staticA

staticB

HmAclass

He11oA

I'mBclass

HeiloB

interfaceRideable{

StringgetGait();

}

pubIicclassGameIimplementsRideable{

intweight=2;

pubIicstaticvoidmain(String[]args){

newGameI().go(8);

]

voidgo(intspeed){

++speed;

weight++;

intwalkrate=speed*weight;

System.out.print(waIkrate+getGait());

}

StringgetGait(){

return"mph,lopeM;

1

GameI中getGait方法增加public访问修饰符。

输出是:27mph,lope

四、简答题(5x5分)

1.&和&&的区别。

&和&&都可作为逻辑运算符“与”使用,但是&&是“短路与”,

运算时先判断符号前面的表达式的值,如果能够确定整个表达式

的值,则不进行符号后面的表达式的运算。

另外,&也可作为位运算符使用。

2.简述接口和抽象类的区别。

只有接口能继承接口。

接口中的所有变量被自动设为finaL

接口的执行比抽象类要慢。

接口中方法的作用域只能是public的,抽象类则无此限制。

抽象类可以实现方法,但接口不行。接口只包含方法签名,不包

含方法体。

一个类可以实现多个接口,但只能继承一个抽象类。

3.简述TCP和UDP的区别。

TCP(TransmissionControlProtocol,传输控制协议)是基于

连接的协议,也就是说,在正式收发数据前,必须和对方建立可

靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,

其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要

做到能够理解这个过程即可。我们来看看这三次对话的简单过

程:主机A向主机B发出连接请求数据包:“我想给你发数据,

可以吗?",这是第一次对话;主机B向主机A发送同意连接和

要求同步(同步就是两台主机一个在发送,一个在接收,协调工

作)的数据包:“可以,你什么时候发?”,这是第二次对话;

主机A再发出一个数据包确认主机B的要求同步:“我现在就发,

你接着吧!”,这是第三次对话。三次“对话”的目的是使数据

包的发送和接收同步,经过三次“对话”之后,主机A才向主机

B正式发送数据。

UDP(UserDataProtocol,用户数据报协议)是与TCP相对应

的协议。它是面向非连接的协议,它不与对方建立连接,而是直

接就把数据包发送过去!

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环

境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP

通信是否正常,其实“ping”命令的原理就是向对方主机发送

UDP数据包,然后对方主机确认收到数据包,如果数据包是否到

达的消息及时反馈回来,那么网络就是通的。UDP协议是面向非

连接的协议,没有建立连接的过程。正因为UDP协议没有连接的

过程,所以它的通信效果高;但也正因为如此,它的可靠性不如

TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到

4.什么是死锁(deadIock)?

两个进程都在等待对方执行完毕才能继续往下执行的时候就发

生了死锁。结果就是两个进程都陷入了无限的等待中。

5.Java中处理正则表达式的主要的类是Pattern和Matcher,

简述这两个类的功能。

pattern对象是一个正则表达式的编译表示。Pattern类没有公

共构造方法。要创建一个Pattern对象,你必须首先调用其公共

静态编译方法,它返回一个Pattern对象。该方法接受一个正则

表达式作为它的第一个参数。

Matcher对象是对输入字符串进行解释和匹配操作的引擎。与

Pattern类一样,Matcher也没有公共构造方法。你需要调用

Pattern对象的matcher方法来获得一个Matcher对象。

五、综合题(10分)

1.Singleton模式:

什么是SingIeton模式?举一个应用了单例模式的例子。

写一个单例模式的类,有getInstance方法。

请实现线程安全的单例模式。

请用doublecheckedlocking实现线程安全的单例模式。

如何防止通过反射实例化多个SingIetonClass的对象?

SingIeton模式:

什么是Singleton模式?举一个应用了单例模式的例子。

单例模式是指,一个类在整个应用的运行周期中只存在唯一的实

例,它会提供一个getInstance方法来访问此实例。例如

java.lang.Runtime就是单例模式的应用,通过getRuntime()

方法访问。

写一个单例模式的类,有getInstance方法。

参考代码:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){};

publicstaticSingIetongetInstance(){

if(.INSTANCE=null){

sInstance=newSingIeton();

)

return_INSTANCE;

1

1

请实现线程安全的单例模式。

参考代码:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){);

publicsynchronizedstaticSingletongetInstance(){

if(_INSTANCE=nulI){

sInstance=newSingIeton();

1

return.INSTANCE;

1

}

请用doublecheckedlocking实现线程安全的单例模式。

参考代码:

publicclassSingIeton{

privatestaticSingleton_INSTANCE;

privateSingIeton(){};

pubIicstaticSingletongetInstance(){

if(_INSTANCE==nulI){

synchronized(SingIeton.class){

if(.INSTANCE=null){

_INSTANCE=newSingIeton();

}

}

}

return.INSTANCE;

}

)

如何防止通过反射实例化多个SingIetonClass的对象?

单例模式是通过构造器私有来防止外界实例化它的对象,但在

Java中,有可能通过反射访问私有的字段和方法,一种避免的

方式是在构造器中做检查并抛出异常。

java基础测试题及答案3

一选择

1、下列叙述中,错误的是0

A、AppIet的默认布局管理器是FIowLayout

B、JAppIet中增加构件是加到JApplet的内容面板上,不

是直接加到JAppIet中

C、JAppIet的内容面板的默认布局管理器是BorderLayout

D、JAppIet的内容面板的默认布局管理器是FlowLayout

本题考的是布局管理器。

向JAppIet中增加构件,是把构件添加到SwingAppIet的

内容面板中;对JApplet设置布局管理器,是对SwingAppIet

的内容面板进行设置,SwingAppIet的内容面板的默认布局管

理器是BorderLayout,所以,JApplet的内容面板的默认布局管

理器是BorderLayout;而Applet的默认布局管理器是

FIowLayout。

故本题答案为D

而japplet是applet的子类

2、护本地主机,对Applet安全限制中正确的是o

A、Applet可加载本地库或方法

B、Applet可读、写本地计算机的文件系统

C、Applet可向Applet之外的任何主机建立网络连接

D、Applet不能运行任何本地可执行程序

许多浏览器为了保护本地主机,对Applet作了如下安全限

制:

1、Applet不能运行任何本地可运行程序;

2、禁止加载本地库或方法;

3、禁止读、写本地计算机的文件系统;

4、禁止向提供Applet之外的任何主机建立网络连接;

5、不能读取某些系统信息,除了Java版本号、操作系统名

或版本号、文件分隔符、路径分隔符以及行分隔符之外,Applet

不能获得与本地计算机有关的任何信息,如:用户名、电子邮件

地址等;

6、由一个AppIet弹出的窗口外观上与一个AppIication

弹出的窗口不同,AppIet弹出的窗口中将会有警告提示信息,

以帮助用户区分AppIet窗口与可信的Application窗口。

故本题答案为Do

3、Java对I/O访问所提供的同步处理机制是。

A、字节流

B、过滤流

C、字符流

D、压缩文件流

本题考的是过滤流。

Java对I/O访问所提供的.同步处理机制是过滤流。一般,

使用一个过滤流要求首先把过滤流连接到某个I/O流上,再通过

构造方法的参数去指定连接的I/O流。

故本题答案为Bo

4、Panel类的默认布局管理器是。

A、BorderLayout

B、CardLayout

C、FIowLayout

D、GridBagLayout

本题考的是布局管理器。

FIowLayout是Panel和AppIet的默认布局管理器。

故本题答案为Co

5、Java对文件类提供了许多操作方法,能获得文件对象父

路径名的方法是0

A、getAbsoIutePath()

B、getParentFile()

C、getAbsoIuteFile()

D>getName()

本题考的是File类提供的方法。

getAbsoIutePath():得到一个文件的绝对路径名;

getParentFile():得到文件对象父路径名;

getAbsoIuteFile():等价于new

FiIe(this.getAbsoIutePath());

getName():得到一个不包含路径的文件名。

故本题答案为Bo

二、编程题1、编写一个JavaAppIication程序App.java,

main程序输入10个整数给数组,通过函数getMinAndMax(int

a口)得到这10个整数的最大值和最小值并输出结果。

classApp{

staticvoidgetMinAndMax(inta[]){

intmin,max;

min=max=a[0];

for(inti=1;iif(a[i]>max)

max=a[i];

if(a[i]min=a[i];)

System,out.printin("Array'MaxValue:99+max);

System.out.printin(^Array,MinValue:w+min);

}

pubIicstaticvoidmain(String[]args){

intarr[]={4,6,72,9,14,3,8,23,56,32};

getMinAndMax(arr);}}

2、编写一个完整的JavaAppIication程序。包含接口

ShapeArea,RectangIe

类,Triangle类及Test类,具体要求如下:

⑴接口ShapeArea:

doubIegetArea():

求一个形状的面积

doubIegetPerimeter():

求一个形状的周长

⑵类RectangIe:实现ShapeArea接口,并有以下属性和方

法:

①属性

width:double类型,表示矩形的长height:doubIe类

型,表示矩形的高

②方法

RectangIe(doubIew,doubleh):构造函数

toString()

方法:输出矩形的描述信息,如"width=1.0,height=2.0,

perimeter=6.0,area=2.0”

(3)类Triangle:实现ShapeArea接口,并有以下属性和方

法:

①属性

x,y,z:double型,表示三角形的三条边

s:周长的1/2(注:求三角形面积公式

为))()((zsysxss,s=(x+y+z)/2,开方可用

Math,sqrt(doubIe)方法)

②方法

Triangle(doubIex,doubley,doublez):

构造函数,给三条边和s赋初值。

toString():

输出矩形的描述信息,如“threesides:3.0,4.0,5.0,

perimeter=12.0,area=6.0”

(4)Test类作为主类要完成测试功能

①生成Rectangle对象

调用对象的toString方法,输出对象的描述信息

interfaceShapeArea{doubIegetArea();

doubIegetPerimeter();

}

classRectangleimpIementsShapeArea{double

width,height;

RectangIe(doubIew,doubIeh){kowidth=w;

height=h;

I

pubIicvoidtoString()

(

System,out.println(nwidth=n+width+n,height=n+height+",

perimeter=n+getPerimeter()+”,area=n+

getArea());

}

pubIicdoublegetArea()

{returnwidth*height;

}

pubIicdoublegetPerimeter()

{return2*(width+height);

1)

cIassTriangIeimplementsShapeArea{doubIex,y,z,s;

Triangle(doublex,doubley,doublez){this.x=x;

this.y=y;

this.z=z;s=(x+y+z)/2;}

pubIicvoidtoString()

(

System,out.println("Three

Sides:n+x+",M+y+n,n+z+n,Perimeter=n+

getPerimeter()+M,area=H+getArea());

}

pubIicdoublegetArea()

(

returnMath,sqrt(s*(s-x)*(s-y)*(s-z));

)

pubIicdoublegetPerimeter()

{returnx+y+z;

}}

classtest{pubIicstaticvoidmain(String[]args)

{RectangIeret=newRectangIe(4,5);

ret.to_String();

}}

java基础测试题及答案4

第一,谈谈final,finally,finalize的区别。

final一修饰符(关键字)如果一个类被声明为final,意味

着它不能再派生出新的子类,不能作为父类被继承。因此一个类

不能既被声明为abstract的,又被声明为final的。将变量或

方法声明为final,可以保证它们在使用中不被改变。被声明为

final的变量必须在声明时给定初值,而在以后的引用中只能读

取,不可修改。被声明为final的方法也同样只能使用,不能重

载。

finally一再异常处理时提供finally块来执行任何清除

操作。如果抛出一个异常,那么相匹配的catch子句就会执行,

然后控制就会进入finally块(如果有的话)。

finalize一方法名。Java技术允许使用finalize。方法

在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。

这个方法是由垃圾收集器在确定这个对象没有被引用时对这个

对象调用的。它是在Object类中定义的,因此所有的类都继承

了它。子类覆盖finalize()方法以整理系统资源或者执行其他

清理工作。finalize()方法是在垃圾收集器删除对象之前对这

个对象调用的、。

第二,AnonymousInnerClass(匿名内部类)是否可以

extends(继承)其它类,是否可以implements(实

现)iinterface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承)

其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

第三,StaticNestedClass和InnerClass的不同,说

得越多越好(面试题有的很笼统)o

NestedClass(一般是C++的说法),InnerClass(一般是

JAVA的说法)。Java内部类与C++嵌套类最大的不同就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论