收藏 分享(赏)

作业+实验_类和对象基础.doc

上传人:精品资料 文档编号:8231517 上传时间:2019-06-15 格式:DOC 页数:7 大小:74KB
下载 相关 举报
作业+实验_类和对象基础.doc_第1页
第1页 / 共7页
作业+实验_类和对象基础.doc_第2页
第2页 / 共7页
作业+实验_类和对象基础.doc_第3页
第3页 / 共7页
作业+实验_类和对象基础.doc_第4页
第4页 / 共7页
作业+实验_类和对象基础.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、类和对象基础一、 选择题1、 下列哪一个不属于 JAVA 语言的数据类型A)指针类型B)类C)数组D)浮点类型答案:A2、 声明类的关链字是A)ClassB)classC)voidD)main答案: B3、 不属于 java 类中的变量的是A)实例成员变量B)类成员变量C)局部变量D)寄存器变量答案: D4、 在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为A)隐藏B)覆盖C)重载D)Java 不支持此特性答案:C5、 不使用 static 修饰符限定的方法称为实例成员方法,下列哪一个说法是不正确的A

2、)成员方法可以直接调用父类的成员方法B)成员方法可以直接调用父类的类方法C)成员方法不可以直接调用其他类的成员方法D)成员方法可以直接调用本类的类方法答案:6、 函数重载是指A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C)两个以上的函数名字不同,但形参的个数或类型相同D)两个以上的函数取相同的函数名,并且函数的返回类型相同答案:A7、 下述哪个说法是不正确的A)局部变量在使用之前无需初始化,因为有该变量类型的默认值B)类成员变量由系统自动进行初始化,也无需初始化C)参数的作用域就是所在的方法D)for 语

3、句中定义的变量,当 for 语句执行完时,该变量就消亡了答案:A8、 下列代码的执行结果是: public class Test6 public static void main(String args) int a=4,b=6,c=8; String s=“abc“; System.out.println(a+b+s+c); System.out.println(); A)ababccB)464688C)46abc8D)10abc8答案:D9、 下列关于变量作用域的说法中,正确的一项是A)方法参数的作用域是方法外部代码段;B)异常处理参数的作用域是方法外部代码段;C)局部变量的作用域是整个类

4、;D)局部变量的作用域是类的某个方法;答案:D10、 下列关于 JAVA 语言中要使用的一个变量,不正确的是:A)在 JAVA 程序中要使用一个变量,必须先对其进行声明;B)变量声明语句可以在程序的任何地方,只要在变量使用前就可以;C)变量不可以在其作用域之外使用;D)局部变量在使用之前可以不初始化,系统使用默认的初始值;答案:D11.一个 int 型整数和一个 double 型浮点数进行加法运算,结果类型是( )A. Int 型B. Double 型C. Float 型D. Long 型答案:B12.一个可以独立运行的 Java 应用程序( )A. 可以有一个或多个 main 方法B. 最多

5、有两个 main 方法C. 可以有一个或 0 个 main 方法D. 只能有一个 main 方法答案:D13. ( ) 方法是 JavaApplication 执行的入口点。A. Main 方法B. Init 方法C. Man 方法答案:A13. 以下的变量定义语句中,合法的是( )A. Int long=3.2345333L;B. Byte $_b1=224333;C. Float _*5=345.33532F;D. Double a=Double.MAX_VALUE;答案:D14.下列关于 Java 程序结果的描述中,不正确的一项是( )A. 一个 Java 源文件可以包括多个类定义,但只

6、能有一个 public 类;B. 一个 Java 源文件可以包括一个 package 语句;C. 一个 Java 源文件可以有多个 public 类;D. 源文件名和程序类名必须保持一致。答案:C二、 分析题15.下面程序是否通过编译,为什么?public class abcint age;String sname;age=23;答案:实测变量的赋值只能在定义的时候就赋值或者在某个方法中赋值。16.指出下面出错的地方,为什么?a) class abcb) int age;c) String sname;d) static String classer;e) void setAge( age)f

7、) age=age;g) h) static static void speak()i) System.out.println(“年龄:”+age+”;班级:”+classer);j) k) 答案: (e)没有为传递进来的参数 age 定义一个 int 类型(f)第一个 age 没有加 this(h)多写了一个 static(i)在静态的方法中不能调用非静态变量 age17.源代码如下所示,你觉得程序能否通过编译呢,如果可以通过编译输出的结果会是什么呢?public class TestOverLoadpublic static void main(String args)Test test

8、= new Test();test.print(null); class Testpublic void print(String some)System.out.println(“String version print“); public void print(Object some)System.out.println(“Object version print“); 答案: 能,输出 String version print18.如果在上题中 TestOverLoad 类中再添加一个方法如下所示,这样会如何呢?public class TestOverLoadpublic static

9、 void main(String args)Test test = new Test();test.print(null); class Testpublic void print(String some)System.out.println(“String version print“); public void print(Object some)System.out.println(“Object version print“); public void print(StringBuffer some)System.out.println(“StringBuffer version p

10、rint“); 答案:应为实例化 Test 后传递的参数是 null,系统就自动优先调用子类的函数。而 String和 StringBuffer 都是 Object 的子类,但是 String 和 StringBuffer 二者没有任何继承关系。属于同一级,因此系统不知道调用谁,所以报错。19.下面可否通过编译,为什么?public class A public int aMethod(String s)System.out.println(s);return 1; public void aMethod(String s)System.out.println(s); 答案:出错,重载限定在传

11、递参数的个数或者是类型不同,顺序不同,但是这题是返回类型不同,方法一样,但是其参数相同,不符合重载的要求,但是他们的方法名都一样,所以会出错。三、简答题1、类和对象的关系?类定义了一种新的数据类型,可以用新类型来创建该类型的对象。类(class)是对象(object)的模板,而对象是类的一个实例。2、定义一个类需要包含什么元素?一个类包含属性和方法。该类具有哪些特征使用属性表示,该类具有哪些行为使用方法来表示。3、如何使用 this 关键字?This 指向自己的引用,即当前方法所在的对象。它的一个主要作用是要将自己这个对象当做参数,传送给别的对象中的犯法。或者在类定义时使用 this 来引用自

12、己的属性或方法。4、类体中的方法包含哪些分类?按返回值分:有返回值、无返回值按参数分:无参数、有参数(单个参数,多个参数)按范围或功能分:实例方法、类方法、构造方法5. 什么时候为类中的实例变量分配内存空间?在使用类创建实例对象时会为其分配空间。 (通过 new 关键字和构造函数为其实例化的时候)6. 什么叫方法的重载?构造方法可以重载吗?一个类中可以有多个方法具有相同的名称,但这些犯法的参数必须不同,即或者是参数个数不同,或者是参数的类型不同,或者是参数的顺序不同。构造方法可以重载,而且构造方法的重载是方法中使用频率最高的一种。7. 简述类变量和实例变量的不同?(1)不同对象的实例变量将分配

13、不同的内存空间,实例变量则属性独有,改变某一个对象的值不影响其他对象;而所有对象的类变量占用同一块内存空间,类变量是所有对象共有的,改变其中一个对象的值,其他对象得到的就是改变后的结果。(2)类变量在类被加载到内存是就为其分配内存空间,而实例变量在使用 new 创建对象时,才为其分配内存空间;(3) 类变量可以通过对象和类名访问,而实例变量只能通过对象访问。(4)类变量通过 static 关键字修饰,实例变量不需要。8. 通过 Student stu;语句定义一个用户类型变量时,是否能在内存中创建对象?通过 Student stu;语句仅仅声明了一个类型为 Student,名称为 stu 的引

14、用变量。这个引用变量具有指向一个 Student 对象的潜在可能,但还没有指向一个 Student 对象。如果要想使 stu 指向一个全新的 Student 对象,在运行时用特定的 java 关键字 new 在 JVM 存储空间中分配 Student 对象。即通过赋值语句将引用变量和对象关联起来,Student stu=new Student() 。四、上机题一、详细要求详细要求中,没有明确指明是 类变量或类方法; 一律定义为实例变量或实例方法;对应编号 详细要求对应编号 详细要求1 编写一个描述成绩的类;2 编写一个描述学生的类;3 编写一个描述圆形的类;4 编写一个描述圆锥的类;11. 编

15、写名为: Score 类,用于描述成绩;2. 有三门成绩:语文,外语,数学;3. 要求三门成绩有相应的 set 和 get 方法;set 用于赋值;get 用于获取值; 例如有变量 int abc; 对应的 set 方法为: void setAbc(int abc)this.abc=abc;对应的 get 方法为: int getAbc()return this.abc; 4. 完成后编译21. 编写名为: Student 的类,用于描述学生;2. 学生有:姓名,年龄,班级(定义为类变量),成绩;3. 要求变量分别有相应的 set / get 方法;4. 此类有两个构造方法;一个是无参数,一个

16、是有参数(参数与变量对应),构造方法用于初始化相关变量;5. 在此类类中定义一个名为 speak 的类方法;方法中有语句: System.out.println(“说中文.”);6. 完成后编译31. 编写一名为: Circle 的类, 用于描述圆;2. 在类中定义一个实例变量用于存放半径, 并有相应的 set, get 方法;3. 在类中定义一个无参数的构造方法, 初始化半径值为: 5;4. 在类中有两个实例方法,一个用于计算并返回面积,名为: double area(); 一个用于计算并返回周长,名为: double girth();5. 再编写主类: Test3.java;6. 在主类中用 Circle 类创建一个对象; 调用相应的方法计算并输出周长和面积; 改变半径为 10 后,再次计算并输出周长和面积;41. 编写名为: Taper 类,用于描述圆锥;2. 在类中定义有两个实例变量,一个是高 ,一个是底(即圆); 有对就的 set,get 方法;3. 在类中定义一个无参数构造方法,初始化高为 7, 底(圆的半径为 5) ;4. 在类中有一个实例方法名为 double bulk();用于计算并返回体积;5. 现编写主类: Test4.java;6. 在主类中用 Taper 类创建一个对象;调用相应的方法计算并输出体积;改变高或底,再次计算并输出体积;7.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报