JAVA类与对象及数组习题Word文档下载推荐.docx
《JAVA类与对象及数组习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JAVA类与对象及数组习题Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
![JAVA类与对象及数组习题Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/5/fe028f7c-5942-428d-b90e-a2f0013c1377/fe028f7c-5942-428d-b90e-a2f0013c13771.gif)
4)
f+=1.0;
5)
}
6)}
A.第2行
B.第3行
C.第4行
D.第6行
(7)下列关于继承的哪项叙述是正确的?
A.在java中允许多重继承
B.在java中一个类只能实现一个接口
C.在java中一个类不能同时继承一个类和实现一个接口
D.java的单一继承使代码更可靠
(8)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
A.privateB.无修饰符C.publicD.protected
(9)给出下列代码,如何使成员变量m被方法fun()直接访问?
classTest
{privateintm;
publicstaticvoidfun()
{...}}
A.将privateintm改为protectedintm
B.将privateintm改为publicintm
C.将privateintm改为staticintm
D.将privateintm改为intm
(10)已知有下列类的说明,则下列哪个语句是正确的?
publicclassTest
{privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringarg[])
{Testt=newTest();
}}
A.t.f;
B.this.n;
C.Test.m;
D.Test.f;
(11)给出下列代码,则数组初始化中哪项是不正确的?
byte[]array1,array2[];
bytearray3[][];
byte[][]array4;
A.array2=array1B.array2=array3
C.array2=array4D.array3=array4
(12)下列代码的执行结果是
{publicintaMethod()
{staticinti=0;
i++;
System.out.println(i);
}
publicstaticvoidmain(Stringargs[])
{Testtest=newTest();
test.aMethod();
A.编译错误B.0C.1D.运行成功,但不输出
(13)下列关于内部类的说法不正确的是
A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用
B.内部类可以使用它所在类的静态成员变量和实例成员变量
C.内部类不可以用abstract修饰符定义为抽象类
D.内部类可作为其他类的成员,而且可访问它所在类的成员
(14)顺序执行下列程序语句后,则b的值是
Stringa="
Hello"
;
Stringb=a.substring(0,2);
A.HelloB.helloC.HeD.null
(15)为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(
)。
A.staticvoidmethod()
B.publicvoidmethod()
C.finalvoidmethod()
D.abstractvoidmethod
(16)不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?
(
)
A.实例方法可以直接调用父类的实例方法。
B.实例方法可以直接调用父类的类方法。
C.实例方法可以直接调用其他类的实例方法。
D.实例方法可以直接调用本类的实例方法
classFatherClass
{voidMemMethod()
{System.out.println("
FatherClassMemberMethod!
"
);
}
staticvoidStaMethod()
FatherClassStaticMethod!
}}
publicclassSonClassextendsFatherClass
{voidMemMethod1()
{FatherClass.StaMethod();
System.out.println("
SonClassMemberMethod!
publicstaticvoidmain(Stringargs[])
{SonClasssc=newClass();
sc.MemMethod1();
SonClass.StaMethod();
(17)设有下面的一个类定义:
classAA{staticvoidShow(){System.out.println(“我喜欢Java!
”);
}}
classBB{voidShow(){System.out.println(“我喜欢C++!
若已经使用AA类创建对象a和BB类创建对象b,则下面(
)方法调用是正确的
A.a.Show()
b.Show()
B.AA.Show();
BB.Show();
C.AA.Show();
b.Show();
D.a.Show();
(18)在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为(
A.隐藏
B.覆盖
C.重载
D.Java不支持此特性
(19)对于构造函数,下列叙述不正确的是(
A.构造函数也允许重载。
B.子类无条件地继承父类的无参构造函数。
C.子类不允许调用父类的构造函数。
D.在同一个类中定义的重载构造函数可以相互调用。
(20)对于子类的构造函数说明,下列叙述中不正确的是(
A.子类无条件地继承父类的无参构造函数。
B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
二、请写出下列程序的运行结果
(1)下列程序的运行结果是()
importjava.io.*;
publicclassExamac
{publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;
i<
a.length;
i++)
if(i%3==0)s+=a[i];
System.out.println("
s="
+s);
(2)下列程序的运行结果是()
publicclassExamad
{inti;
inta[]={11,22,33,44,55,66,77,88,99};
for(i=0;
=a.length/2;
System.out.print(a[i]+a[a.length-i-1]+"
"
System.out.println();
(3)下列程序的运行结果是()
importjava.io.*;
classParent
{voidprintMe()
parent"
classChildextendsParent
child"
voidprintAll()
{super.printMe();
this.printMe();
printMe();
publicclassExamae
{ChildmyC=newChild();
myC.printAll();
(4)下列程序的运行结果是()
classExamaf{
publicstaticvoidmain(Stringargs[]){
Strings1=newString();
Strings2=newString("
String2"
charchars[]={'
a'
'
'
s'
t'
r'
i'
n'
g'
};
Strings3=newString(chars);
Strings4=newString(chars,2,6);
bytebytes[]={0,1,2,3,4,5,6,7,8,9};
StringBuffersb=newStringBuffer(s3);
Strings5=newString(sb);
TheStringNo.1is"
+s1);
TheStringNo.2is"
+s2);
TheStringNo.3is"
+s3);
TheStringNo.4is"
+s4);
TheStringNo.5is"
+s5);
(5)下列程序的运行结果是()
publicclassExamOuter
{publicstaticvoidmain(Stringargs[])
{for(inti=0;
i<
3;
i++)
for(intj=0;
j<
j++)
{if(j>
1)break;
System.out.println(j+"
and"
+i);
}}}
(6)下列程序的运行结果是()
classExamTest
{inta=1,b=2;
if((a==0)&
(++b==6))
a=100;
System.out.println(a+b);
(7)下列程序的运行结果是()
classStaticTest
{staticintx=1;
inty;
StaticTest()
{y++;
publicstaticvoidmain(Stringargs[])
{StaticTestst=newStaticTest();
x="
+x);
st.y="
+st.y);
st=newStaticTest();
static{x++;
(8)下列程序的运行结果是()
classStaticStuff
{staticintx;
static
{System.out.println("
x1="
x+=5;
x2="
static
x3="
x%=3;
(9)父类与子类初始化顺序:
classPerson
{{System.out.println("
父类代码块"
intm=f();
intf(){System.out.println("
父类非静态变量"
return1;
staticintn=g();
static{System.out.println("
父类静态代码块"
staticintg(){System.out.println("
父类静态变量"
return2;
Person(){System.out.println("
APerson."
publicclassChineseextendsPerson
子类代码块"
intk=k();
intk(){System.out.println("
子类非静态变量"
return3;
staticinti=i();
staticinti(){System.out.println("
子类静态变量"
return4;
static{System.out.println("
子类静态代码块"
Chinese(){super();
Achinese."
publicstaticvoidmain(String[]args)
{Chineseobj=newChinese();
//booleanb=objinstanceofChinese;
System.out.println(b);