第4章 类的继承和接口
- 格式:pdf
- 大小:955.33 KB
- 文档页数:46
Java2实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
选择题:(2X15=30 分,非单选题)非单选题)一、选择题:1、C#语言源代码文件的后缀名为:DA、.C#B、.CCC、.CSPD、.CS2、C#中导入某一个命名空间的关键字是:AA、usingB、useC、importD、include3、方法中的值参数是_____A_的参数。
A、按值传递B、按引用传递C、按地址传递D、不传递任何值4、以下标识符中,错误的是:CA、_b39B、x345C、6_321D、nAverage5、结构化程序设计的3 种结构是:DA、顺序结构、if 结构、for 结构B、if 结构、if…else 结构、else if 结构C、while 结构、do…while 结构、foreach 结构D、顺序结构、分支结构、循环结构6、while 语句循环结构和do…while 语句循环区别的区别在于:DA、while 语句的执行效率较高B、do…while 语句编写程序较复杂C、无论条件是否成立,while 语句都要执行一次循环体D、do…while 循环是先执行循环体,后判断条件表达式是否成立,而while 语句是先判断条件表达式,再决定是否执行循环体7、下面有关break、continue 和goto 语句描述正确的是:DA、break 语句和continue 语句都是用于中止当前整个循环的B、使用break 语句可以一次跳出多重循环C、使用goto 语句可以方便地跳出多重循环,因而编程时应尽可能多地使用goto 语句D、goto 语句必须和标识符配合使用,break 和continue 语句则不然8、下面是几条定义初始化一维数组的语句,指出其中正确的:CA、int arr1[]={6,5,1,2,3};B、int[] arr2=new int[];C、int[] arr3=new int[] {6,5,1,2,3};D、int[] arr4;arr4={6,5,1,2,3};9、下面有关枚举成员赋值说法正确的是:BA、在定义枚举类型时,至少要为其中的一个枚举成员赋一个常量值B、在定义枚举类型时,直接为某个枚举成员赋值,则其他枚举成员依次取值C、在把一个枚举成员的值赋给另一个枚举成员时,可以不考虑它们在代码中出现的顺序D、在定义的一个枚举类型中,任何两个枚举成员都不能具有相同的常量值10、下面有关静态方法的描述中,错误的是:ABDA、静态方法属于类,不属于实例B、静态方法可以直接用类名调用C、静态方法中,可以访问非静态的局部变量D、静态方法中,可以访问静态的变量11、在类的外部可以被访问的成员是:AA、public 成员B、private 成员C、protected 成员D、protected internal 成员12、下面有关析构函数的说法中,不正确的是:CA、析构函数中不能包含return 语句B、一个类中只能有一个析构函数C、用户可以定义有参析构函数D、析构函数在对象被撤销时,被自动调用13、控件不可用的属性是以下哪一个BA、AllowDropB、EnabledC、BoundsD、Visible14、用于设置时间的控件是以下哪一个?AA、TimerB、ComboBoxC、DateTimeD、DateTimePicker15、以下哪一个命名空间是在进行Sql Server 数据库访问时必须加载的? BA、System.Data.OdbcB、System.Data.SqlClientC、System.Data.OleDbD、System.Data.SqlTypes1、C#中可以把任何类型的值赋给的object 类型变量,当值类型赋给object 类型变量时,系统要进行___装箱__操作;而将object 类型变量赋给一个值类型变量,系统要进行___拆箱_ 操作,并且要求必须加__强制__类型转换。
11111JA V A复习题新1、在下列供选的代码中,不能作为Java整型常量的是A.038B. 0x3ACCC. 065D. 0x3BCA2、以下类型中,不是JA V A整数类型的是A.byteB. intC. charD. short3、以下代码的输出的结果是int x = 73;System.out.println(1.0+x/2);A.37.0 B.37.5C.1.036 D.1.036.54、设有以下代码:String s1 = "XYZ";String s2 = "XYZ";String s3 = new String("XYZ");则表达式s1==s2和s1==s3的值分别是A、true,trueB、false,falseC、false,trueD、true,false5、用Thread 子类实现多线程的步骤顺序是A.声明Thread 类的子类,创建Thread子类的实例,让线程调用start()方法B.声明Thread 类的子类,在子类中重新定义run()方法,创建Thread子类的实例C.创建Thread子类的实例,让线程调用start()方法D、声明Thread 类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法6、Java语言中,在类定义时用final关键字修饰,是指这个类A.不能被继承B.在子类的方法中不能被调用C.能被别的程序自由调用 D .不能被子类的方法覆盖7、以下是关于字符串运算的代码,执行该代码段的输出结果是String s = "0123456789", s1, s2;s1 = s.substring(2); s2 = s.substring(2,5); System.out.println(s1+s2);A.0122345 B.234567892345C.012234 D.234567892348、在下述Java语言语句中,错误创建数组的方法的是A.int intArray [ ] ; intArray = new int [6] ;B.int intArray [ ] = new int [6] ;C.int [ ] intArray = {1,2,3,4,5,6} ;D.int intArray [6] = {1,2,3,4,5,6} ;9、Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是A.public B.privateC.protected D.<无修饰>JA V A复习题(新1)一、选择题1、Java语言的许多特点中,下列特点是C++语言所不具备的。
1、已知类的定义如下public class test_3{int x ;int y ;test_3(int a,int b){x=a;y=b;}test_3(){x=-1;y=-1;}int get_x(){return x++;}int get_y(){return y--;}如果用下面三种不同的方法加载类,写出要求的结果:(1)用test_3 a1=new test_3()后;a1.x的内容为_____ ,a1.y的内容为______。
(2)用test_3 a1=new test_3(-2,5)后;a1.x的内容为_____ ,a1.y的内容为______。
(3)用test_3 a1=new test_3(10)后;其结果是__________。
2、设int x=1,float y=2,则表达式x / y的值是( )A、0B、1C、2D、以上都不是3、以下语句有语法错的是( )A、int x=1;y=2;z=3B、for (int x=10,y=0;x>0;x++);C、while (x>5);D、for(;;);4、void 的含义( )A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参加算术运算5、以下有关类定义的说法正确的是( )A、一个类可以有成员,也可以没有成员B、类的成员至少有一个属性和一个方法C、类的静态属性同全局变量的概念完全一样,只是表达形式不同D、类的方法在实例化时不占用内存6、以下有关构造函数的说法,正确的是( )A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用。
D、构造函数可以和类同名,也可以和类名不同7、以下有关类的继承的说明中,正确的是( )A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性8、以下有关类的构造函数继承的说明,正确的是( )A、子类继承父类的构造函数,但不能自己定义B、子类可定义自己的构造函数,但受父类定义的构造函数的限制C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义9、this 和super的使用中,正确的是( )A、都是指一个内存地址B、可以在同一个方法定义中出现C、意义相同D、以上都不10、分析以下程序,下面(AC)方法是对setVar方法的重载。
第1章Java开发入门一、填空题1、Java程序的运行环境简称之为______。
2、编译Java程序需要使用______命令。
3、和两个可执行程序存放在JDK安装目录的______目录下。
4、______环境变量用来存储Java的编译和运行工具所在的路径。
二、选择题1、Java属于以下哪种语言A、机器语言B、汇编语言C、高级语言D、以上都不对2、下面哪种类型的文件可以在Java虚拟机中运行A、.javaB、.jreC、.exeD、.class3、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器4、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre;第2章基本数据类型与数组一、填空题1、Java中的程序代码都必须在一个类中定义,类使用______关键字来定义。
2、布尔常量即布尔类型的两个值,分别是______和______。
3、Java中的注释可分为三种类型,分别是______、______、______。
4、Java中的变量可分为两种数据类型,分别是______和______。
5、在Java中,byte类型数据占______个字节,short类型数据占______个字节,int类型数据占______个字节,long类型数据占______个字节。
6、在逻辑运算符中,运算符______和______用于表示逻辑与,______和______表示逻辑或。
7、若x = 2,则表达式( x + + )/3 的值是______。
8、若int a =2; a+=3;执行后,变量a的值为______。
9、若int []a={12,45,34,46,23}; ,则a[2]= ______。
第4章类的封装性、继承性、多态性及接口一、判断题1. 如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。
()2. 接口中的成员变量全部为常量,方法为抽象方法。
()3. 抽象类可以有构造方法,所以能直接用来生成实例。
()4. Java的类不允许嵌套定义。
()5. 包含抽象方法的类一定是抽象类,但有abstract修饰的类不一定包含抽象方法()6. 泛型只能用于类的定义中,不能用于接口的定义中。
()7. 用final修饰的类不能被继承。
()8. 接口无构造器,不能有实例,也不能定义常量。
()9. 一个具体类实现接口时,必须要实现接口中的所有方法。
()10. 类具有封装性,但可以通过类的公共接口访问类中的数据。
()11. 子类能继承或覆盖(重写)父类的方法,但不能重载父类的方法。
()12. 用final修饰的方法不能被子类覆盖(重写)。
()13. abstract是抽象修饰符,可以用来修饰类、属性和方法。
()14. 父类的静态方法不能被子类覆盖为非静态的方法,反之亦然。
()15. 子类实例化时,子类的构造方法一定会先调用父类的构造方法。
()16. 用final修饰的方法不能被覆盖(重写),也不能有重载的方法。
()17. 接口也可以继承接口,且可以继承多个接口,体现了多重继承性。
()18. 假设类B继承类A,类C继承类B,则在类C中可用super访问类A的方法。
()19. 类和接口都可以继承另外一个类。
()20. 抽象类中不能包含final修饰的方法。
()二、选择题1. Java实现动态多态性是通过()实现的。
A. 重载B. 覆盖C. 接口D. 抽象类2. 下列哪一种描述是正确的?()A. 动态多态性只针对静态成员方法B. 动态多态性只针对非静态成员方法C. 动态多态性只针对静态成员域D. 动态多态性只针对非静态成员域3. 下列关于重载方法哪一个是正确的描述?()A. 重载方法的参数形式(类型、参数个数或参数顺序)必须不同B. 重载方法的参数名称必须不同C. 重载方法的返回值类型必须不同D. 重载方法的修饰词必须不同4. 接口的所有成员方法都具有()修饰的特性。
JAVA复习题及答案第一章JAV A概述1.JA VA中哪三种平台:J2ME(嵌入式平台),J2SE(标准平台),J2EE(企业级平台).2.JA VA从第几版称为JA V A2:JA V A 1.2版。
3.JA VA有否指针:无。
4.JA VA的API指的是什么:Application ProgrammingInterface,JA V A的类库。
5.JA V A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机器码,由平台上的Java虚拟机中的Java解释器解释执行。
6.JA VA有哪两种程序形式:Application和Applet程序。
7.Application程序运行时系统调用程序的哪个方法:main()方法。
Applet程序执行时系统自动调用程序的哪个方法:init()方法。
8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。
9.JDK是什么:Java开发工具包(Java Development Kit )的缩写,包括JAVA类库、JAVA编译器、JAVA解释器、运行时环境、命令行工具。
10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse,JCreator, JBuilder等。
11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip第二章JAV A语言基础13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JA V A中已定义的用于特定用途的标识符。
不能。
14.i++与++i有什么区别?15.写出各种转义字符?p17。
\t, \n, \r, \‖, \’, \\16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package –名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用‖-―;Variable—第一个字母小写,不用‖_‖,‖$‖(对于inner class有意义);Constants—大写并用‖_‖17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。