作业实验类和对象基础.docx
- 文档编号:15696508
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:11
- 大小:18.86KB
作业实验类和对象基础.docx
《作业实验类和对象基础.docx》由会员分享,可在线阅读,更多相关《作业实验类和对象基础.docx(11页珍藏版)》请在冰点文库上搜索。
作业实验类和对象基础
类和对象基础
一、选择题
1、下列哪一个不属于JAVA语言的数据类型
A)指针类型
B)类
C)数组
D)浮点类型
答案:
A
2、声明类的关链字是
A)Class
B)class
C)void
D)main
答案:
B
3、不属于java类中的变量的是
A)实例成员变量
B)类成员变量
C)局部变量
D)寄存器变量
答案:
D
4、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为
A)隐藏
B)覆盖
C)重载
D)Java不支持此特性
答案:
C
5、不使用static修饰符限定的方法称为实例成员方法,下列哪一个说法是不正确的
A)成员方法可以直接调用父类的成员方法
B)成员方法可以直接调用父类的类方法
C)成员方法不可以直接调用其他类的成员方法
D)成员方法可以直接调用本类的类方法
答案:
6、函数重载是指
A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C)两个以上的函数名字不同,但形参的个数或类型相同
D)两个以上的函数取相同的函数名,并且函数的返回类型相同
答案:
A
7、下述哪个说法是不正确的
A)局部变量在使用之前无需初始化,因为有该变量类型的默认值
B)类成员变量由系统自动进行初始化,也无需初始化
C)参数的作用域就是所在的方法
D)for语句中定义的变量,当for语句执行完时,该变量就消亡了
答案:
A
8、下列代码的执行结果是:
publicclassTest6{
publicstaticvoidmain(Stringargs[]){
inta=4,b=6,c=8;
Strings="abc";
}
}
A)ababcc
B)464688
C)46abc8
D)10abc8
答案:
D
9、下列关于变量作用域的说法中,正确的一项是
A)方法参数的作用域是方法外部代码段;
B)异常处理参数的作用域是方法外部代码段;
C)局部变量的作用域是整个类;
D)局部变量的作用域是类的某个方法;
答案:
D
10、下列关于JAVA语言中要使用的一个变量,不正确的是:
A)在JAVA程序中要使用一个变量,必须先对其进行声明;
B)变量声明语句可以在程序的任何地方,只要在变量使用前就可以;
C)变量不可以在其作用域之外使用;
D)局部变量在使用之前可以不初始化,系统使用默认的初始值;
答案:
D
11.一个int型整数和一个double型浮点数进行加法运算,结果类型是()
A.Int型
B.Double型
C.Float型
D.Long型
答案:
B
12.一个可以独立运行的Java应用程序()
A.可以有一个或多个main方法
B.最多有两个main方法
C.可以有一个或0个main方法
D.只能有一个main方法
答案:
D
13.()方法是JavaApplication执行的入口点。
A.Main方法
B.Init方法
C.Man方法
答案:
A
13.以下的变量定义语句中,合法的是()
A.Intlong=3.2345333L;
B.Byte$_b1=224333;
C.Float_*5=345.33532F;
D.Doublea=Double.MAX_VALUE;
答案:
D
14.下列关于Java程序结果的描述中,不正确的一项是()
A.一个Java源文件可以包括多个类定义,但只能有一个public类;
B.一个Java源文件可以包括一个package语句;
C.一个Java源文件可以有多个public类;
D.源文件名和程序类名必须保持一致。
答案:
C
二、分析题
15.下面程序是否通过编译,为什么?
publicclassabc{
intage;
Stringsname;
age=23;
}
答案:
实测变量的赋值只能在定义的时候就赋值或者在某个方法中赋值。
16.指出下面出错的地方,为什么?
a)classabc{
b)intage;
c)Stringsname;
d)staticStringclasser;
e)voidsetAge(age){
f)age=age;
g)}
h)staticstaticvoidspeak(){
i)“年龄:
”+age+”;班级:
”+classer);
j)}
k)}
答案:
(e)没有为传递进来的参数age定义一个int类型
(f)第一个age没有加this
(h)多写了一个static
(i)在静态的方法中不能调用非静态变量age
17.源代码如下所示,你觉得程序能否通过编译呢,如果可以通过编译输出的结果会是什么呢?
publicclassTestOverLoad{
publicstaticvoidmain(String[]args){
Testtest=newTest();
test.print(null);
}
}
classTest{
publicvoidprint(Stringsome){
}
publicvoidprint(Objectsome){
}
}
答案:
能,输出Stringversionprint
18.如果在上题中TestOverLoad类中再添加一个方法如下所示,这样会如何呢?
publicclassTestOverLoad{
publicstaticvoidmain(String[]args){
Testtest=newTest();
test.print(null);
}
}
classTest{
publicvoidprint(Stringsome){
}
publicvoidprint(Objectsome){
}
publicvoidprint(StringBuffersome){
}
}
答案:
应为实例化Test后传递的参数是null,系统就自动优先调用子类的函数。
而String和StringBuffer都是Object的子类,但是String和StringBuffer二者没有任何继承关系。
属于同一级,因此系统不知道调用谁,所以报错。
19.下面可否通过编译,为什么?
publicclassA{
publicintaMethod(Strings){
return1;
}
publicvoidaMethod(Strings){
}
}
答案:
出错,重载限定在传递参数的个数或者是类型不同,顺序不同,但是这题是返回类型不同,方法一样,但是其参数相同,不符合重载的要求,但是他们的方法名都一样,所以会出错。
三、简答题
1、类和对象的关系?
类定义了一种新的数据类型,可以用新类型来创建该类型的对象。
类(class)是对象(object)的模板,而对象是类的一个实例。
2、定义一个类需要包含什么元素?
一个类包含属性和方法。
该类具有哪些特征使用属性表示,该类具有哪些行为使用方法来表示。
3、如何使用this关键字?
This指向自己的引用,即当前方法所在的对象。
它的一个主要作用是要将自己这个对象当做参数,传送给别的对象中的犯法。
或者在类定义时使用this来引用自己的属性或方法。
4、类体中的方法包含哪些分类?
按返回值分:
有返回值、无返回值
按参数分:
无参数、有参数(单个参数,多个参数)
按范围或功能分:
实例方法、类方法、构造方法
5.什么时候为类中的实例变量分配内存空间?
在使用类创建实例对象时会为其分配空间。
(通过new关键字和构造函数为其实例化的时候)
6.什么叫方法的重载?
构造方法可以重载吗?
一个类中可以有多个方法具有相同的名称,但这些犯法的参数必须不同,即或者是参数个数不同,或者是参数的类型不同,或者是参数的顺序不同。
构造方法可以重载,而且构造方法的重载是方法中使用频率最高的一种。
7.简述类变量和实例变量的不同?
(1)不同对象的实例变量将分配不同的内存空间,实例变量则属性独有,改变某一个对象的值不影响其他对象;而所有对象的类变量占用同一块内存空间,类变量是所有对象共有的,改变其中一个对象的值,其他对象得到的就是改变后的结果。
(2)类变量在类被加载到内存是就为其分配内存空间,而实例变量在使用new创建对象时,才为其分配内存空间;
(3)类变量可以通过对象和类名访问,而实例变量只能通过对象访问。
(4)类变量通过static关键字修饰,实例变量不需要。
8.通过Studentstu;语句定义一个用户类型变量时,是否能在内存中创建对象?
通过Studentstu;语句仅仅声明了一个类型为Student,名称为stu的引用变量。
这个引用变量具有指向一个Student对象的潜在可能,但还没有指向一个Student对象。
如果要想使stu指向一个全新的Student对象,在运行时用特定的java关键字new在JVM存储空间中分配Student对象。
即通过赋值语句将引用变量和对象关联起来,
Studentstu=newStudent()。
四、上机题
对应编号
详细要求
1
编写一个描述成绩的类;
2
编写一个描述学生的类;
3
编写一个描述圆形的类;
4
编写一个描述圆锥的类;
一、详细要求
详细要求中,没有明确指明是类变量或类方法;一律定义为实例变量或实例方法;
对应编号
详细要求
1
1.编写名为:
Score类,用于描述成绩;
2.有三门成绩:
语文,外语,数学;
3.要求三门成绩有相应的set和get方法;set用于赋值;get用于获取值;
[例如有变量intabc;
对应的set方法为:
voidsetAbc(intabc){this.abc=abc;}
对应的get方法为:
intgetAbc(){returnthis.abc};
]
4.完成后编译
2
1.编写名为:
Student的类,用于描述学生;
2.学生有:
姓名,年龄,班级(定义为类变量),成绩;
3.要求变量分别有相应的set/get方法;
4.此类有两个构造方法;一个是无参数,一个是有参数(参数与变量对应),构造方法用于初始化相关变量;
5.在此类类中定义一个名为speak 的类方法“说中文….”);
6.完成后编译
3
1.编写一名为:
Circle的类,用于描述圆;
2.在类中定义一个实例变量用于存放半径,并有相应的set,get方法;
3.在类中定义一个无参数的构造方法,初始化半径值为:
5;
4.在类中有两个实例方法,一个用于计算并返回面积,名为:
doublearea();一个用于计算并返回周长,名为:
doublegirth();
5.再编写主类:
Test3.java;
6.在主类中用Circle类创建一个对象;调用相应的方法计算并输出周长和面积;改变半径为10后,再次计算并输出周长和面积;
4
1.编写名为:
Taper类,用于描述圆锥;
2.在类中定义有两个实例变量,一个是高,一个是底(即圆);有对就的set,get方法;
3.在类中定义一个无参数构造方法,初始化高为7,底(圆的半径为5);
4.在类中有一个实例方法名为doublebulk();用于计算并返回体积;
5.现编写主类:
Test4.java;
6.在主类中用Taper类创建一个对象;调用相应的方法计算并输出体积;改变高或底,再次计算并输出体积;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 实验 对象 基础
![提示](https://static.bingdoc.com/images/bang_tan.gif)