类的封装与继承习题题Word文件下载.docx
《类的封装与继承习题题Word文件下载.docx》由会员分享,可在线阅读,更多相关《类的封装与继承习题题Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
先调用形参多的构造函数
7:
Java与C/C++比较说法错误的是(D)。
Java不提供goto语句,所以也就没指定goto作为关键字。
Java没有指针。
Java没有联合和结构
Java只有单继承没有多重继承。
8:
若需要定义一个类域或类方法,应使用(B)修饰符。
static
package
private
public
9:
下列说法(C)是正确的。
程序执行到break语句是一定会结束所有的循环
程序执行到continue语句时会结束当前循环
break语句和continue语句都可以和标签协同使用
continue语句和break语句的作用相同
10:
以下说确的是(D)。
每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
如果类里定义了一个或多个构造方法,那么java也提供默认的构造方法
每个Java类中用户必须定义至少一个构造方法。
以上都不对
11:
对封装的理解正确的是(A)。
(3分)
封装就是把对象的属性和行为结合成一个独立的单位。
封装就是把对象完全隐蔽起来,不让外界访问。
封装性是一个使用问题。
封装和抽象是一回事。
12:
对成员的访问控制保护最强的是(C)。
缺省
protected
13:
类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}将以下(B)方法插入行3是不合法的。
publicfloataMethod(floata,floatb,floatc){}
publicfloataMethod(floatc,floatd){}
publicintaMethod(inta,intb){}
privatefloataMethod(inta,intb,intc){}
14关于构造函数的说法(B)正确。
一个类只能有一个构造函数
一个类可以有多个不同名的构造函数
构造函数与类同名
构造函数必须自己定义,不能使用父类的构造函数
15:
关于以下程序段,正确的说法是(D)。
1.Strings1=”abc”+”def”;
2.Strings2=newString(s1);
3.if(s1==s2)4.System.out.println(“==succeeded”);
5.if(s1.equals(s2))6.System.out.println(“.equals()succeeded”);
程序将输出:
==succeeded
.equals()succeeded
==succeeded.equals()succeeded
程序无输出
16:
关于以下程序代码的说明正确的是(C)。
1.classHasStatic{2.privatestaticintx=100;
3.publicstaticvoidmain(Stringargs[]){4.HasStatichs1=newHasStatic();
5.hs1.x++;
6.HasStatichs2=newHasStatic();
7.hs2.x++;
8.hs1=newHasStatic();
9.hs1.x++;
10.HasStatic.x--;
11.System.out.println(“x=”+x);
12.}13.}(2分)
5行不能通过编译,因为引用了私有静态变量
10行不能通过编译,因为x是私有静态变量
程序通过编译,输出结果为:
x=103
x=102
三、程序阅读题
1、以下程序的输出结果为___Peteris17yearsold!
___________________。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("
Peter"
17);
System.out.println(c.name+"
is"
+c.age+"
yearsold!
"
);
}
2、以下程序的输出结果为__课程号:
101__课程名:
ASP__学分:
_3_________________。
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
publicvoidprintCourseInfo(){
System.out.println("
课程号:
+cNumber+"
课程名:
+cName+"
学分:
+cUnit);
classCourseTest{
Coursec;
c=newCourse("
101"
"
ASP"
3);
c.printCourseInfo();
3、以下程序的输出结果为_汤姆猫_体重:
20斤_____________________。
publicclassTom{
privatefloatweight;
privatestaticStringname;
publicvoidsetWeight(floatweight){
this.weight=weight;
privatevoidout(){
System.out.println(name+"
体重:
+weight+"
斤"
Tom.name="
汤姆猫"
;
Tomcat=newTom();
cat.setWeight(20);
cat.out();
4、以下程序的输出结果:
:
Tom年龄:
15家庭住址:
金水区学校:
九中:
66123456
publicclassFather{
Stringname,address,tel;
publicFather(Stringname,intage){
voidout(){
System.out.print("
:
+name);
年龄:
+age);
voidoutOther(){
家庭住址:
+address);
:
+tel);
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
super.out();
super.outOther();
学校:
+school);
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("
Tom"
15);
son.address="
金水区"
son.school="
九中"
son.tel="
66123456"
son.out();
5、下列程序的运行结果是__12345___________________。
publicclassMyClass{
inta[]={1,2,3,4,5};
for(intj=0;
j<
a.length;
j++)
System.out.print(a[j]+"
MyClassmy=newMyClass();
my.out();
1、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("
Hello!
"
IloveJAVA."
System.out.println(s.toString());
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
publicStringtoString()
returns1+s2;
运行结果:
____Hello!
IloveJAVA.________________
2、importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;
i<
a.length;
i++)
if(a[i]%3==0)s+=a[i];
System.out.println("
s="
+s);
__s=180__________________
3、importjava.io.*;
{
System.out.println("
a="
+a+"
\nb="
+b);
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
super(aa,bb);
c=cc;
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
{super(aa,bb,cc);
A=aa+bb+cc;
voidshow()
+b+"
\nc="
+c);
a=60
b=20
c=30
1.以下程序的输出结果为相等____________________。
classStringTest1
{
publicstaticvoidmain(String[]args)
Strings1="
hello"
Strings2=newString("
if(s1.equals(s2)){
System.out.println("
相等"
}else{
不相等"
}
2.以下程序段的输出结果为56789____________________。
publicclassTestArray
publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]={5,9,6,8,7};
for(i=0;
a.length-1;
i++){
intk=i;
for(j=i;
j++)
if(a[j]<
a[k])k=j;
inttemp=a[i];
a[i]=a[k];
a[k]=temp;
for(i=0;
i<
a.length;
i++)
System.out.print(a[i]+"
"
System.out.println();
3.写出以下程序的功能。
importjava.io.*;
publicclassTestFile
publicstaticvoidmain(Stringargs[])throwsException
BufferedReaderbr=newBufferedReader(
newInputStreamReader(System.in));
BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"
));
Strings;
while(true)
System.out.print("
请输入一个字符串:
System.out.flush();
s=br.readLine();
if(s.length()==0)break;
bw.write(s);
bw.newLine();
bw.close();
功能:
判断输入字符串是否等于input.txt文件中的字符串
4.阅读以下程序,写出输出结果。
classAnimal{
Animal(){
System.out.print("
Animal"
public
classDogextendsAnimal{
Dog(){
Dog"
Dogsnoppy=newDog();
输出结果:
_Animal___Dog________________
五、程序设计题
1、按以下要求编写程序
(1)创建一个Rectangle类,添加width和height两个成员变量
(2)在Rectangle中添加两种方法分别计算矩形的周长和面积
(3)编程利用Rectangle输出一个矩形的周长和面积
解答:
packagetraining5;
//
(1)创建一个Rectangle类,添加width和height两个成员变量
//
(2)在Rectangle中添加两种方法分别计算矩形的周长和面积
//(3)编程利用Rectangle输出一个矩形的周长和面积
publicclassRectangle{
privateintwidth;
privateintheight;
publicRectangle(intwidth,intheight){
this.width=width;
this.height=height;
publicvoidsquare(){
intsquare;
square=width*height;
面积:
+square);
publicvoidzhouc(){
intzhouc;
zhouc=2*(width+height);
周长;
+zhouc);
publicstaticvoidmain(Stringargs[]){
Rectanglejux=newRectangle(3,5);
jux.square();
jux.zhouc();