MOOC 面向对象程序设计(金陵科技学院)1463952162 最新慕课完整章节测试答案
第一章 JAVA面向对象开发方法(Java Object Oriented Development Method)
文章目录
- 第一章 JAVA面向对象开发方法(Java Object Oriented Development Method)
- 第二章 JAVA程序设计基础(Java programming foundation)
- 第三章 类和对象(Class and Object)
- 第四章 继承与多态(Inheritance and polymorphism)
- 第五章 JAVA的抽象类和接口(Abstract class and interface of Java)
- 第六章 JAVA异常处理(Java exception handling)
- 第七章 IO流及文件(IO stream and file)
- 第八章 JAVA GUI
- 第九章 JAVA多线程技术(Java multithreading technology)
- 第十章 Socket网络编程(Socket network programming)
- 第十一章 JAVA数据库编程(Java database programming)
第一章测试
1、单选题:
下列选项中,不属于Java语言特点的一项是( )。
选项:
A: 分布式
B: 安全性
C: 编译执行
D: 面向对象
答案: 【 编译执行】
2、单选题:
下列描述中,不正确的是( )。
选项:
A: 不支持多线程
B: 一个Java源文件不允许有多个公共类
C: Java通过接口支持多重继承
D: Java程序分为Application和Applet两类
答案: 【 不支持多线程】
3、单选题:
Java程序的执行过程中用到一套JDK工具,其中javac.exe是指( ) 。
选项:
A: Java文档生成器
B: Java解释器
C: Java编译器
D: Java类分解器
答案: 【 Java编译器】
4、单选题:
以public修饰的类如:public class Car{…} 则Car( )。
选项:
A: 可被其它程序包中的类使用
B: 仅能被本程序包中的类使用
C: 不能被任意其它类使用
D: 不能被其它类继承
答案: 【 可被其它程序包中的类使用】
5、单选题:
编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。
选项:
A: java
B: class
C: html
D: exe
答案: 【 class】
6、单选题:
main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
选项:
A: public static void main( )
B: public static void main( String args[] )
C: public static int main(String [] arg )
D: public void main(String arg[] )
答案: 【 public static void main( String args[] )】
7、单选题:
Java Application源程序的主类是指包含有( )方法的类。
选项:
A: main方法
B: toString方法
C: init方法
D: actionPerfromed方法
答案: 【 main方法】
8、单选题:
下列关于虚拟机说法错误的是( )。
选项:
A: 虚拟机可以用软件实现
B: 虚拟机不可以用硬件实现
C: 字节码是虚拟机的机器码
D: 虚拟机把代码程序与各操作系统和硬件分开
答案: 【 虚拟机不可以用硬件实现】
9、单选题:
给定一个java源程序Test.java,在命令行中,使用下面( )语句可以编译、运行该程序。
选项:
A: javac Test.java和java Test
B: javac Test.java和java Test.class
C: java Test.java和javac Test
D: java Test.java和javac Test.class
答案: 【 javac Test.java和java Test】
10、单选题:
. class 和.java 文件的含义分别是( )。
选项:
A: Java 目标码文件和源文件
B: Java 可执行文件和目标码文件
C: Java 源文件和目标码文件
D: Java 源文件和Java 平台配置文件
答案: 【 Java 目标码文件和源文件】
11、单选题:
小程序的生命周期包括哪些阶段?( )
选项:
A: 载入,运行,离开,返回,卸载,等阶段
B: 载入,运行,函数阶段
C: 运行阶段,停止阶段
D: 下载,载入,运行阶段
答案: 【 载入,运行,离开,返回,卸载,等阶段】
12、单选题:
阅读下列代码,选出该代码段正确的文件名( )。class A{ void method1(){ System.out.println("Method1 in class A"); }}public class B{ void method2(){ System.out.println("Method2 in class B"); } public static void main(String[] args){ System.out.println("main() in class B"); }}
选项:
A: A.java
B: A.class
C: B.java
D: B.class
答案: 【 B.java】
13、单选题:
如何调用JAVA小程序?( )
选项:
A: 双击小程序文件即可执行
B: 在命令行为方式下键入JAVA命令来调用
C: 在Eclipse中键入JAVA命令来调用
D: 打开HTML文件即可调用,或者利用appletviewer命令调用
答案: 【 打开HTML文件即可调用,或者利用appletviewer命令调用】
14、单选题:
在Java Applet程序用户自定义的Applet子类中,常常重载( )方法在Applet的界面中显示文字、图形和其它界面元素。
选项:
A: start( )
B: stop( )
C: init( )
D: paint( )
答案: 【 paint( )】
15、单选题:
执行一个java程序“FirstApp”的方法是( )。
选项:
A: 运行:“java FristApp.java”
B: 运行:“java FristApp”
C: 运行“javac FristApp.class”
D: 直接双击编译好的java目标码文件执行
答案: 【 运行:“java FristApp”】
16、单选题:
以下的Java程序代码中,错误的行是( )。
选项:
A: System.Out.Println(“天天好心情”);
B: /*天好心情!*/
C: public static void main(String[] args) {}
D: public class FirstApp {}
答案: 【 System.Out.Println(“天天好心情”);】
17、单选题:
Eclipse是什么?( )
选项:
A: 是一种新的语言
B: 是一种基于插件的通用的集成化软件开发环境
C: 是仅用于Java程序设计的一套集成化软件开发环境
D: 是一种Java应用软件
答案: 【 是一种基于插件的通用的集成化软件开发环境】
18、单选题:
编译一个定义了3个类和10个方法的Java源文件后,会产生的字节码文件个数和扩展名是什么?( )
选项:
A: 13个字节码文件,扩展名为.class
B: 1个字节码文件,扩展名为.class
C: 3个字节码文件,扩展名为.java
D: 3个字节码文件,扩展名为.class
答案: 【 3个字节码文件,扩展名为.class】
19、单选题:
在创建Applet应用程序时,需要用户考虑问题是( )。
选项:
A: 窗口如何创建
B: 绘制的图形在窗口中的位置
C: 程序的框架
D: 事件处理
答案: 【 绘制的图形在窗口中的位置】
20、单选题:
下列关于Application和Applet程序的说法中不正确的一项是( )。
选项:
A: Application使用解释器java.exe
B: Application不使用独立的解释器
C: Applet在浏览器中运行
D: Applet必须继承Java的Applet类
答案: 【 Application不使用独立的解释器】
21、判断题:
Java语言具有较好的安全性和可移植性及与平台无关等特性。
选项:
A: 正确
B: 错误
答案: 【 正确】
22、判断题:
Java语言的源程序不是编译型的,而是编译解释型的。
选项:
A: 正确
B: 错误
答案: 【 正确】
23、判断题:
Java程序中不区分大小写字母。
选项:
A: 正确
B: 错误
答案: 【 错误】
24、判断题:
机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。
选项:
A: 正确
B: 错误
答案: 【 正确】
25、判断题:
System类中的println()方法分行显示信息,而print()方法不分行显示信息。
选项:
A: 正确
B: 错误
答案: 【 正确】
26、判断题:
java命令不区分大小写,而javac命令区分大小写。
选项:
A: 正确
B: 错误
答案: 【 错误】
27、判断题:
printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。
选项:
A: 正确
B: 错误
答案: 【 正确】
28、判断题:
在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。
选项:
A: 正确
B: 错误
答案: 【 错误】
29、判断题:
当前路径的标识是“.”。
选项:
A: 正确
B: 错误
答案: 【 正确】
第二章 JAVA程序设计基础(Java programming foundation)
第二章测试
1、单选题:
下列哪个是合法的Java标识符?( )
选项:
A: Tree&Glasses
B: 1_FirstJavaApplet
C: _$theLastOne
D: 273.5
答案: 【 _$theLastOne】
2、单选题:
Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
选项:
A: 8
B: 16
C: 32
D: 64
答案: 【 16】
3、单选题:
Java用于返回字符串中第一个字符的方法为( )。
选项:
A: charAt(1)
B: charAt(0)
C: indexof(1)
D: indexof(0)
答案: 【 charAt(0)】
4、单选题:
在Java中,存放字符串常量的对象属于( )类对象。
选项:
A: Character
B: String
C: StringBuffer
D: Vector
答案: 【 String】
5、单选题:
Javadoc 的注释文档中可以有哪些内容?( )
选项:
A: 文本,HTML标记,以“@”打头的文档标记
B: 文本,HTML标记
C: 文本,Java宏命令
D: 文本,Javascript脚本语句
答案: 【 文本,HTML标记,以“@”打头的文档标记】
6、单选题:
以下几个命名方法,不符合Java 命名规范的是( )。
选项:
A: 类的名称:MyClassName
B: 变量的名称:myArray
C: 常量的名称:PI_VALUE
D: 成员函数的名称:GetName
答案: 【 成员函数的名称:GetName】
7、单选题:
在下面的代码中,break语句的作用是( )。for (int i = 0; i < 10; i++) if (aData[i] = = TargetData) { FoundID = i; break; }
选项:
A: 退出if 程序块
B: 退出此次循环,直接进入下一次循环
C: 退出整个循环
D: 退出整个函数
答案: 【 退出整个循环】
8、单选题:
给定Java代码如下:要使这段代码能够编译成功,横线处可以填入( )。public int count(char c, int i, double d){return _____;}
选项:
A: c*i
B: c*d
C: (int)c*d
D: i*d
答案: 【 c*i】
9、单选题:
给定某Java程序片断,如下:int i=1;int j=i++;if((i>++j)&&(i++==j))i+=j;System.out.println(i);给程序运行后,i的输出结果是( )。
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
10、单选题:
给定Java代码片断,如下:int i=0,j=-1;switch(i){ case 0,1:j=1; case 2:j=2;}System.out.print("j="+j);编译运行,正确的结果是( )。
选项:
A: 程序编译出错
B: j=1
C: j=2
D: j=0
答案: 【 程序编译出错】
11、单选题:
在Java中,下列( )语句不能通过编译。
选项:
A: String s=”john”+”was”+”here”;
B: String s=”john+3”;
C: int a=3+5;
D: float f=5+5.5;
答案: 【 float f=5+5.5;】
12、单选题:
Java内部如何利用”+”号将字符串连接在一起?( )
选项:
A: “+”号相当于append函数,在String对象的后面添加字符串
B: “+”号相当于append函数,在StringBuffer对象的后面添加字符串,因此只有StringBuffer对象能用“+”号连接符
C: Java在用“+”号进行字符串连接的时候,是新建一个StringBuffer对象,用它按序连接所有的字符串,最后再转回String对象
D: “+”号相当于append函数,在String对象的后面添加字符串,因此只有String对象才能用“+”号连接符
答案: 【 Java在用“+”号进行字符串连接的时候,是新建一个StringBuffer对象,用它按序连接所有的字符串,最后再转回String对象】
13、单选题:
给定一个Java程序的代码片断如下:String s = “hello, world”;System.out.println(A);运行后,输出world,A处应填入( )。
选项:
A: s.substring(s.indexOf(“w”),s.length())
B: s.substring(s.charAt(“w”),s.length())
C: s.substring(6,10)
D: s.substring(7,12)
答案: 【 s.substring(s.indexOf(“w”),s.length())】
14、单选题:
给定一个Java程序的代码片断如下,运行后,正确的输出结果是( )。String s=”Hello,world”;s.replace(‘,’, ‘ ’);System.out.println(s);
选项:
A: Hello world
B: Hello,world
C: HELLO WORLD
D: HELLO,WORLD
答案: 【 Hello,world】
15、单选题:
在Java语言中,以下( )代码不会引起编译器错误。
选项:
A: float[] f1=new float[];
B: float[3] f2=new float[];
C: float f3[]={1.0,2.0,3.0};
D: float f4[]=new float[]{1.0f,2.0f,3.0f};
答案: 【 float f4[]=new float[]{1.0f,2.0f,3.0f};】
16、单选题:
以下对append 函数的描述中,错误的是( )。
选项:
A: append 函数用于在已有的字符串末尾添加新的内容
B: 仅StringBuffer类提供append 函数
C: append 函数有多种形式,用于添加不同的内容
D: append 函数仅能添加字符串型的对象
答案: 【 append 函数仅能添加字符串型的对象】
17、单选题:
若String s = “Hello” ; String t = “Hello”;String c=new String(s);则下列哪个表达式返回false?( )
选项:
A: s.equals(t);
B: t.equals(c);
C: s==c;
D: s==t;
答案: 【 s==c; 】
18、单选题:
以下关于Java 中数组长度的描述中,正确的是( )。
选项:
A: 数组的长度是可变的
B: 数组的长度是固定的,是在运行期确定下来
C: 数组的长度是固定的,是在设计期确定下来
D: 组的长度是可变的,但最大长度在设计期就确定下来
答案: 【 数组的长度是固定的,是在运行期确定下来】
19、单选题:
Java程序中如何获得数组的长度( )?
选项:
A: 利用全局函数getArrayLen()
B: 利用数组的getLength()函数
C: 利用数组的length()函数
D: 利用数组的length变量
答案: 【 利用数组的length变量】
20、单选题:
以下程序的运行结果是( ) 。public class Mine { public static void main(String args[]){ int[] ar=new int[5]; for(int i=0;i < ar.length;i++) System.out.print(ar[i]); }}
选项:
A: 00000
B: 编译时错误:数组 ar未初始化
C: null
D: 运行时错误:IndexOutOfBoundesException
答案: 【 00000】
21、判断题:
所有的变量在使用前都必须进行初始化。
选项:
A: 正确
B: 错误
答案: 【 错误】
22、判断题:
String str="abcdefghi"; char chr=str.charAt(9);
选项:
A: 正确
B: 错误
答案: 【 错误】
23、判断题:
char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6];
选项:
A: 正确
B: 错误
答案: 【 正确】
24、判断题:
short shortValue=220; byte byteValue=shortValue;
选项:
A: 正确
B: 错误
答案: 【 错误】
25、判断题:
说明或声明数组时不分配内存大小,创建数组时分配内存大小。
选项:
A: 正确
B: 错误
答案: 【 正确】
26、填空题:
求两个数的最大值。 public class Abc { static int a = 10 , b = 20 ; public static void main(String args[]) { System.out.println(max()); //调用成员方法max } static int max( ) { return ; }//返回最大值,用条件表达式表示 }
答案: 【 (a>b)?a:b##%_YZPRLFH_%##((a>b)?a:b)##%_YZPRLFH_%##(a<b)?b:a##%_YZPRLFH_%##((a<b)?b:a)】
27、填空题:
实现字符串的反转。import java.util.Scanner;class Inverse{ static public void main(String args[]){ Scanner reader=new Scanner( System.in ); //标准输入流封装入Scanner对象 System.out.print("输入字符串:"); String s= reader.nextLine() ; //输入字符串,将其赋值给变量s char c[]=new char[ s.length() ]; // 创建与字符串等长的数组c for(int i=0;i<s.length();i++) c[i]= ; //字符串前后对应位置处字符对换 for(char i:c) System.out.print( i ); //输出对换后的字符 }}
答案: 【 s.charAt(s.length()-1-i )##%_YZPRLFH_%##s.charAt(s.length()-i-1 )】
随堂测验1
1、填空题:
下列程序的输出结果为: (注意:结果必需完全和程序输出一致,包括大小写、空格和换行!)public class X{
public static void main(String [] args)
{
String names[]=new String[5];
for(int x=0;x<args.length;x++)
names[x]=args[x];
System.out.println(names[2]);
}
}
答案: 【 null】
2、填空题:
下列程序的输出结果为: (注意:结果必需完全和程序输出一致,包括大小写、空格和换行!)public class array1D_1 {
public static void main(String args[]) {
int i;
int a[ ];
a = new int[5];
for(i=0;i<5;i++)
a[i]=i;
for(i=a.length-1;i>=0;i--)
System.out.print(“a[“ +i + ”]=” + a[i] + ”,”);
}
}
答案: 【 a[4]=4,a[3]=3,a[2]=2,a[1]=1,a[0]=0,】
随堂测验2
1、填空题:
下列程序的输出结果为: public class WhileExample{
public static void main(String[] args){
String copyFromMe="Copy every letter until you encounter 'u'.";
StringBuffer copyToMe=new StringBuffer(); //创建一个空的串变量
int i=0;
char c=copyFromMe.charAt(i);
while(c!='u')
{
copyToMe.append(c);
c=copyFromMe.charAt(++i);
}
System.out.println(copyToMe);
}
}
答案: 【 Copy every letter】
2、填空题:
下列程序的输出结果为: public class Example
{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[])
{
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[])
{
str="test ok";
ch[0]='g';
}
}
答案: 【 good and gbc】
第三章 类和对象(Class and Object)
第三章测试
1、单选题:
在Java中,在包com.db下定义了一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为( )。
选项:
A: protected
B: private
C: public
D: friendly
答案: 【 public】
2、单选题:
在JAVA中,com包中某类的方法使用下列( )访问修饰符修饰后,可以被com.db包中的子类访问,但不能被com.db中其他类访问。
选项:
A: private
B: protected
C: public
D: friendly
答案: 【 protected】
3、单选题:
给定Java代码如下,编译运行,结果是( )。class Test{int i;public static void main(String args[]){System.out.println("i="+i);}}
选项:
A: 编译错误
B: 运行时出现异常
C: 正常运行,输出i=-1
D: 正确运行,输出i=0
答案: 【 编译错误】
4、单选题:
在Java中,在方法前使用( )关键字,可以表示此方法为类方法,无需创建对象即可访问。
选项:
A: void
B: final
C: public
D: static
答案: 【 static】
5、单选题:
为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
选项:
A: static void method( )
B: public void method( )
C: final void method( )
D: abstract void method( )
答案: 【 static void method( ) 】
6、单选题:
对于构造函数,下列叙述错误的是( )。
选项:
A: 构造函数是类的一种特殊函数,它的方法名必须与类名相同
B: 构造函数的返回类型只能是void型
C: 构造函数的主要作用是完成对类的对象的初始化工作
D: 一般在创建新对象时,系统会自动调用构造函数
答案: 【 构造函数的返回类型只能是void型】
7、单选题:
在Java中,对象在何种状态下会被回收?( )
选项:
A: 当没有引用变量再指向该对象时
B: 当对象关系的引用变量消失时
C: 当没有任何程序再访问一个对象或对象的成员变量时
D: 当对象的所有成员函数都执行一遍以后
答案: 【 当没有引用变量再指向该对象时】
8、单选题:
设有下面的一个类定义:class AA {static void show( ){ System.out.println(“我喜欢Java!”); }}class BB { void show( ){ 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()BB.show()
答案: 【 AA.show()b.show()】
9、单选题:
给定Java程序Test.java如下,编译运行,结果是( )。package com;public class Test{protected void talk(){ System.out.print("talk");}}给定com.util包下的测试类Test2如下:package com.util;import com.*;public class Test2 { public static void main(String[] args){ new Test().talk(); }}
选项:
A: 输出字符串:talk
B: 输出字符串:talk talk
C: 编译错误:在com.util.Test2中无法访问方法talk()
D: 编译错误:com.Test无法在包外访问
答案: 【 编译错误:在com.util.Test2中无法访问方法talk()】
10、单选题:
给定Java程序Test.java如下:package com;public class Test{ public void talk(){} protected void walk(){} private void climb(){} void jump(){}}给定Test的子类Test2,代码如下:package com;public class Test2 extends Test{ public static void main(String[] args){ Test2 tt=new Test2( ); //A }}不可以在Test2的A处加入的代码是( )。
选项:
A: tt.talk();
B: tt.walk();
C: tt.climb();
D: tt.jump();
答案: 【 tt.climb();】
11、单选题:
Java中,类Object位于( )包中。
选项:
A: java.lang
B: java.util
C: java.sql
D: java.io
答案: 【 java.lang】
12、单选题:
给定Java代码如下,d取值范围是( )。double d = Math.random( );
选项:
A: d>=1.0
B: d>=0.0,并且d<1.0
C: d>=0.0,并且d<Double.MAX_VALUE
D: d>=1.0,并且d<Double.MAX_VALUE
答案: 【 d>=0.0,并且d<1.0】
13、单选题:
给定一个Java程序的方法结构,如下:public Integer change(String s){( )//代码;}
选项:
A: return Integer(s);
B: return s;
C: return s.getInteger();
D: return Integer.valueOf(s);
答案: 【 return Integer.valueOf(s);】
14、单选题:
给定Java代码片段,如下:Integer a=new Integer(3);Integer b=new Integer(3);System.out.println(a==b);运行后,这段代码将输出( )。
选项:
A: true
B: false
C: 0
D: 1
答案: 【 false】
15、单选题:
设有下面两个赋值语句:a = Integer.parseInt(“1024”);b = Integer.valueOf(“1024”).intValue();下述说法正确的是( )。
选项:
A: a是整数类型变量,b是整数类对象。
B: a是整数类对象,b是整数类型变量。
C: a和b都是整数类对象并且它们的值相等。
D: a和b都是整数类型变量并且它们的值相等。
答案: 【 a和b都是整数类型变量并且它们的值相等。】
16、单选题:
定义一个Java程序的方法结构如下:以下方法体实现语句不正确的是( )。public String change(int i){}
选项:
A: return new String(i);
B: return String.valueOf(i);
C: return i+“ ”;
D: return Integer.toString(i);
答案: 【 return new String(i);】
17、单选题:
在Java中,包有多种用途,但不包含( )。
选项:
A: 将类组合成较小的单元,便于使用
B: 有助于避免命名冲突
C: 有助于提高运行效率
D: 允许在更广的范围内保护类、数据和方法
答案: 【 有助于提高运行效率】
18、单选题:
以下哪一种方法不能访问一个包中的公开类?( )
选项:
A: 用“import 包名.*”导入包中的所有类
B: 用“import 包名.类名”导入包中的某个类
C: 用“*”号来匹配带有某个关键字的类
D: 用类的全名(包名.类名)访问
答案: 【 用“*”号来匹配带有某个关键字的类】
19、判断题:
类是一种类型,也是对象的模板。
选项:
A: 正确
B: 错误
答案: 【 正确】
20、判断题:
实例方法中不能引用类变量。
选项:
A: 正确
B: 错误
答案: 【 错误】
21、判断题:
创建对象时系统将调用适当的构造方法给对象初始化。
选项:
A: 正确
B: 错误
答案: 【 正确】
22、判断题:
使用运算符new创建对象时,赋给对象的值实际上是一个引用值。
选项:
A: 正确
B: 错误
答案: 【 正确】
23、判断题:
对象可作方法参数,对象数组不能作方法参数。
选项:
A: 正确
B: 错误
答案: 【 错误】
24、判断题:
Java语言会自动回收内存中的垃圾。
选项:
A: 正确
B: 错误
答案: 【 正确】
25、填空题:
Collection 接口的特点是元素都是_________。
答案: 【 对象##%_YZPRLFH_%##实例】
26、填空题:
List 接口的特点是元素有顺序,___重复。
答案: 【 可以##%_YZPRLFH_%##可##%_YZPRLFH_%##允许##%_YZPRLFH_%##能】
27、填空题:
Set 接口的特点是元素无顺序,______重复。
答案: 【 不可以##%_YZPRLFH_%##不可##%_YZPRLFH_%##不能##%_YZPRLFH_%##不允许】
28、填空题:
Map 接口的特点是元素是________。
答案: 【 键值映射##%_YZPRLFH_%##key-value映射##%_YZPRLFH_%##键值对##%_YZPRLFH_%##key-value对】
29、填空题:
分析下面的程序,写出运行结果。(注意:运行结果必需和程序运行输出完全一致,包括大小写、空格和换行!)class Box{
int length,width,height;
public void setInfo(int l,int w,int h){
length = l;
width = w;
height = h;
}
public int volumn(){
return length*width*height;
}
public int area(){
return (length*width + length*height + width*height) * 2;
}
public String toString(){
return "Length:" + length + " Width:" + width + " Height:" + height + " Volumn: " +
volumn() + " Area:" + area();
}
}
public class BoxTest {
public static void main(String[] args) {
Box b = new Box();
b.setInfo(5,2,4);
System.out.println(b.toString());
}
}
答案: 【 Length:5 Width:2 Height:4 Volumn: 40 Area:76】
30、填空题:
阅读以下程序,说明Person类与Screwdriver类是 关系。public class Person{
/** 拧螺丝 */
public void screw(Screwdriver screwdriver){
screwdriver.screw();
}
}
答案: 【 依赖】
31、填空题:
阅读以下程序,说明Company类和Employee类是 关系。public class Company{
private Employee employee;
public Employee getEmployee(){
return employee;
}
public void setEmployee(Employee employee){
this.employee=employee;
}
//公司运作
public void run(){
employee.startWorking();
}
}
答案: 【 关联】
随堂测验1
1、单选题:
有一个类B,下面为其构造方法的声明,正确的是( )。
选项:
A: void B(int x) { }
B: B(int x) { }
C: b(int x) { }
D: void b(int x) { }
答案: 【 B(int x) { }】
2、单选题:
下面关于类的说法,不正确的是( )。
选项:
A: 类是同种对象的集合和抽象
B: 类属于Java语言中的复合数据类型
C: 类就是对象
D: 对象是Java语言中的基本结构单位
答案: 【 类就是对象】
3、单选题:
下面关于方法的说法,不正确的是( )。
选项:
A: Java中的构造方法名必须和类名相同
B: 方法体是对方法的实现,包括变量声明和合法语句
C: 如果一个类定义了构造方法,也可以用该类的默认构造方法
D: 类的私有方法不能被其他类直接访问
答案: 【 如果一个类定义了构造方法,也可以用该类的默认构造方法】
4、单选题:
定义外部类时不能用到的关键字是( )。
选项:
A: final
B: protected
C: public
D: abstract
答案: 【 protected】
5、判断题:
类是一种类型,也是对象的模板。
选项:
A: 正确
B: 错误
答案: 【 正确】
6、判断题:
类中说明的方法可以定义在类体外。
选项:
A: 正确
B: 错误
答案: 【 错误】
7、判断题:
使用构造方法只能给实例成员变量赋初值。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验2
1、单选题:
下列哪种类成员修饰符修饰的变量只能在本类中被访问?( )
选项:
A: protected
B: public
C: default
D: private
答案: 【 private】
2、单选题:
在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是( )。
选项:
A: 默认
B: protected
C: private
D: public
答案: 【 protected】
3、单选题:
在类的修饰符中,规定只能被同一包类所使用的修饰符是( )。
选项:
A: public
B: protected
C: 默认
D: private
答案: 【 默认】
随堂测验3
1、单选题:
给出下面的程序代码:public class X4_1_3 { private float a; public static void m ( ){ }}如何使成员变量a被方法m( )访问?( )
选项:
A: 将private float a改为protected float a
B: 将private float a改为public float a
C: 将private float a改为float a
D: 将private float a改为static float a
答案: 【 将private float a改为static float a】
2、单选题:
为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( )。
选项:
A: abstract void f()
B: static void f()
C: public void f()
D: final void f()
答案: 【 static void f()】
3、单选题:
定义一个公有double型常量PI,哪一条语句最好?( )
选项:
A: public final double PI;
B: public final static double PI=3.14;
C: public final static double PI;
D: public static double PI=3.14;
答案: 【 public final static double PI=3.14;】
4、单选题:
关于实例方法和类方法,以下描述正确的是( )。
选项:
A: 实例方法只能访问实例变量
B: 类方法可以访问类变量,不能访问实例变量
C: 类方法只能通过类名来调用
D: 实例方法只能通过对象来调用
答案: 【 实例方法只能通过对象来调用 】
5、单选题:
下面关于类方法的描述,错误的是( )。
选项:
A: 说明类方法使用关键字static
B: 类方法和实例方法一样均占用对象的内存空间
C: 类方法能用实例和类名调用
D: 类方法既能处理类变量又能处理实例变量
答案: 【 类方法和实例方法一样均占用对象的内存空间】
随堂测验4
1、单选题:
下面关于包的描述中,错误的是( )。
选项:
A: 包是若干对象的集合
B: 使用package语句创建包
C: 使用import语句引入包
D: 包分为有名包和无名包两种
答案: 【 包是若干对象的集合】
2、单选题:
在Java语言中,哪一个包中的类是自动导入的?( )
选项:
A: java.util
B: java.awt
C: java.io
D: java.lang
答案: 【 java.lang】
3、填空题:
当程序中需要引用java.awt.event包中的类时,导入该包中所有类的语句为 。
答案: 【 import java.awt.event.*;】
第四章 继承与多态(Inheritance and polymorphism)
第四章测试
1、单选题:
关于重载和重写的叙述正确的是( )。
选项:
A: 重载是多态的一种,而重写不是
B: 重载是子类中定义的方法和父类中某个方法相同
C: 重写是一个类中多个同名的方法,并且方法的参数不同
D: 重写方法时不允许降低方法的访问权限
答案: 【 重写方法时不允许降低方法的访问权限】
2、单选题:
下面( )Java关键字表示一个对象或变量的值不能够被修改。
选项:
A: static
B: abstract
C: finally
D: final
答案: 【 final】
3、单选题:
一个Java源文件Child.java,代码如下:运行后正确的输出结果是( )。class Parent{
Parent(){
System.out.println(“parent”);
}
}
public class Child extends Parent{
Child(String s){
System.out.println(s);
}
public static void main(String[] args){
Child child=new Child(“child”);
}
}
选项:
A: child
B: childparent
C: parentchild
D: 编译错误
答案: 【 parentchild】
4、单选题:
在Java中,关键字( )用来调父类的构造方法。
选项:
A: super
B: this
C: extends
D: abstract
答案: 【 super】
5、单选题:
在Java中,下列( )类不能派生出子类。
选项:
A: public class MyClass{}
B: class MyClass{}
C: abstract class MyClass{}
D: final class MyClass{}
答案: 【 final class MyClass{}】
6、单选题:
分析下面的Java代码:编译运行,结果是( )。class A{ &n