Java核心技术试题

合集下载

JAVA核心技术:卷1+卷2(原书第8版)

JAVA核心技术:卷1+卷2(原书第8版)
3 结 语
不同类型油藏储量失控原因各有差异 ,其中整装油藏 以油水井报废为主 ,断块油藏主要是 由于油水井损坏 ,低 渗 透油 藏主 要是 技术 经济 原 因导致 井 距过大 。
JAVA核心技术 :卷 1+卷 2 (原书第8版 )
作 者 :[美】昊斯特 曼 著 出 版 社 :机械 工 业 出版社
I S B N : 1 1250276
所 属 分 类 : 图 书 > 套 装 书 > 科 学技 术 图 书 > 计 算机 与互联 网 > 编程 语 言 与程 序 设 计
JAVA核心技术 I卷1):基础 知识 {原 书第8版) 是 JaVa核心技术》 的最新版 , 《Java核心技术 出版 以来一直 畅销不衰 ,深受读者青睐 ,每个新版本都尽可能快地跟上J a v a 开发工 具箱发展 的步伐 ,而且每 一版都重 新改 写了的部 分 内 容 ,以便适应Java的最新特性。本版也不例外 它反遇 了Java SE6的新特性。全书共14章 ,包括Java基本的程序结构、对 象与 类、继承、接口与内部类 、图形程序设计、事件 处理 、SWing 用户界 面组件、部署应 用程序和APP l et、异常 日志断言和调 试、叙述方式深入浅 出,并包含大量示例 从而 帮助读者充分 理解Java语言 以及Java类型库 的相关特性。
《JAVA核心技术卷2:高级特征》 适合软件开发人 员、高 等院校教师和学生参考 。
— 60一
工程 科 技
中圉科技信恩201 4年蕈 期t CHINA SCIENCE AND TECHNOLOGY INFORMATION Jan·2014
在 整装 、断块 油 藏 ,采收 率高 、采 出程 度高 、含水 高 。
2.3井况损坏严重 ,注采井网极不完善

《JAVA核心技术》基础试题

《JAVA核心技术》基础试题

《JA V A编程初步》测试题一、选择题1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()。

A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问2、以下代码段将创建()个对象。

String s1="bc";String s2="bc";A、0B、1C、2D、33、编译并运行以下程序,以下描述哪个选项是正确的()1: class X{2: protected String toString(){3: return ();}4: }A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错4、下列关于修饰符混用的说法,错误的是()5、A、abstract不能与final并列修饰同一个类6、B、abstract类中不可以有private的成员7、C、abstract方法必须在abstract类中8、D、static方法中能处理非static的属性9、容器Panel和Applet缺省使用的布局编辑策略是()10、A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout11、以下标识符中哪项是不合法的( )A、BigMeaninglessNameB、$intC、1 stD、$112、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[ ])13、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空14、以下代码段执行后的输出结果为()int x=3; int y=10;、0 B、1 C、2 D、310、以下哪个表达式是不合法的()A、String x="Hello"; int y=9; x+=y;B、String x="Hello"; int y=9; if(x= =y) { }C、String x="Hello"; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&()>0) : 011、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;"value is "+ ((x>4) :9));}}A、输出结果为:value isB、输出结果为:value is 9C、输出结果为:value isD、编译错误12、以下声明合法的是()A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是()1: class StaticStuff2: {3: static int x=10;4: static { x+=5;}5: public static void main(String args[ ])6: {7: "x=" + x);9: static { x/=3;}10: }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. ++;6. HasStatic hs2=new HasStatic( );7. ++;8. hs1=new HasStatic( );10. -;11. "x="+x);12. }13. }A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、while (int i<7){ i++;"i is "+i);}B、 int j=3;while(j){ " j is "+j);}C、 int j=0;for(int k=0; j + k !=10; j++,k++){ " j is "+ j + "k is"+ k);}D、 int j=0;do{"j is "+j++);if (j = = 3) {continue loop;}}while (j<10);16、类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。

java核心技术卷一开发基础原书第12版

java核心技术卷一开发基础原书第12版

Java核心技术卷一开发基础原书第12版1. 简介《Java核心技术卷一开发基础》是一本介绍Java编程基础知识的经典教材,作者是Cay S. Horstmann和Gary Cornell。

本书首次出版于1996年,到现在已经是第12版。

本书的信息量丰富,通俗易懂,适合初学者和有一定基础的程序员阅读。

2. 内容概要本书主要包括Java编程的基础知识,如数据类型、运算符、控制流程等。

同时还介绍了面向对象编程、异常处理、文件操作等高级内容。

在第12版中,还加入了对最新的Java 9和10版本的介绍,以及对函数式编程、模块化系统等新特性的介绍。

3. 与其他版本的对比与前几版相比,第12版在保留原有内容的基础上,对新特性进行了更新与扩展。

本版还修正了之前版本中的一些错误,使得内容更加准确、完善。

4. 适用人裙本书适合希望系统学习Java编程语言的读者,尤其是那些计划从事Java开发工作的程序员。

另外,想系统了解Java编程知识的初学者也可以通过阅读本书迅速掌握Java的基本原理和技术。

5. 学习收获通过阅读本书,读者可以了解Java编程语言的基本原理和技术,并能够独立进行简单的Java程序开发。

深入学习本书的读者还能够掌握Java的高级特性,为实际的编程工作奠定扎实的基础。

6. 结语《Java核心技术卷一开发基础》第12版集中了作者多年的教学和实践经验,是Java编程领域的一本经典教材。

不论是初学者还是有一定基础的程序员,都可以通过阅读本书加深对Java编程语言的理解和掌握。

本书值得一读,也是Java学习者不可或缺的参考读物。

对于Java 核心技术卷一开发基础原书第12版,除了介绍基本的Java编程知识,它还涵盖了更加深入和高级的主题。

本篇续写将着重介绍本书的高级内容以及其对读者的实际帮助和应用。

1. 高级主题本书第12版在基础知识的基础上,还涵盖了许多高级主题,如多线程编程、网络编程、数据库访问等。

在多线程编程方面,本书详细介绍了Java中多线程的原理和实现方法,帮助读者理解多线程编程的重要性和复杂性。

java试题及答案

java试题及答案

java试题及答案以下是一篇关于Java试题及答案的文章:Java试题及答案Java是一种广泛应用于软件开发的编程语言,具有易学易用、跨平台等特点,因此备受开发人员的青睐。

下面将为大家提供一些常见的Java试题及详细的答案解析,帮助读者更好地掌握Java编程技能。

一、基础知识题目1:请简要介绍Java的特点和优势。

答案:Java的特点主要包括以下几点:1. 简单易学:Java语法较为简洁,去除了复杂的指针、多重继承等概念,使其更易于学习和使用。

2. 跨平台性:Java可以在不同的操作系统上运行,只需编写一次代码,即可在各个平台上运行。

3. 面向对象:Java是一种面向对象的语言,支持封装、继承和多态等面向对象的特性。

4. 安全性:Java提供了严格的安全机制,如内置的安全控制、自动垃圾回收等,可有效防止潜在的安全风险。

题目2:Java中的数据类型有哪些?请分别介绍其特点。

答案:1. 基本数据类型:Java的基本数据类型包括byte、short、int、long、float、double、boolean和char。

- byte:占用1个字节,用于表示整数类型;- short:占用2个字节,用于表示整数类型;- int:占用4个字节,用于表示整数类型;- long:占用8个字节,用于表示长整数类型;- float:占用4个字节,用于表示浮点数类型;- double:占用8个字节,用于表示双精度浮点数类型;- boolean:占用1个字节,用于表示布尔类型,取值为true或false;- char:占用2个字节,用于表示字符类型。

2. 引用数据类型:Java的引用数据类型包括类、接口、数组等。

- 类:表示一组对象的共同属性和行为;- 接口:定义了一组抽象方法,可被类实现;- 数组:表示一个固定长度、相同类型的数据序列。

二、面向对象题目3:请简要介绍Java中的封装、继承和多态的概念。

答案:1. 封装:封装是指将数据和操作数据的方法进行封装,防止外部直接访问和修改数据,通过提供公共方法来访问和修改数据,以提高数据的安全性和可维护性。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A2. Java中的main方法的返回类型是什么?A. voidB. intC. StringD. boolean答案:B3. 下列哪个是Java的原始数据类型?A. StringB. intC. ArrayListD. Object答案:B4. 在Java中,哪个关键字用于实现多态?A. newC. implementsD. override答案:D5. 以下哪个是Java集合框架中的接口?A. ListB. SetC. MapD. All of the above答案:D6. Java中的异常处理是通过哪两个关键字实现的?A. try and catchB. if and elseC. for and whileD. switch and case答案:A7. 以下哪个是Java的访问修饰符?A. publicB. staticC. finalD. synchronized答案:A8. 在Java中,哪个关键字用于定义一个接口?B. interfaceC. packageD. enum答案:B9. Java中的String类是不可变的,这意味着什么?A. 字符串值不能被修改B. 字符串对象不能被实例化C. 字符串不能被用作数组D. 字符串不能被用作方法参数答案:A10. 在Java中,哪个关键字用于定义一个枚举类型?A. enumB. classC. interfaceD. struct答案:A二、简答题(每题5分,共20分)1. 简述Java中的垃圾回收机制。

答案:Java中的垃圾回收机制是一种自动内存管理功能,它会自动检测不再使用的对象,并释放它们占用的内存。

垃圾回收器会周期性地运行,寻找那些没有被任何引用指向的对象,然后回收它们占用的内存空间。

CoreJava测试题(含答案)

CoreJava测试题(含答案)

CoreJava测试题班级:____ 姓名:____ 分数:____一、单选题1.J2SE作为一种应用和开发环境,提供了一整套实用工具,其中()是Java语言的编译工具。

(D)A.javaB.javadocC.javapD.javac2.Java中,以下循环语句的执行次数是(C)。

int x=37;int y=3;while(y<=x){y*=y;}A.0B. 1C. 2D. 33.下面Java程序的输出结果是(C)。

public static void main(String[] args){final int A=4;int a=2;switch(a*2){case A : System.out.print (a);default : System.out.println(a*2);}}A. 2B. 4C.24D.报错4.Java中,类Test定义如下:class Test{int m;public static void fun(){…}}如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为(C)。

A.p rotected int m;B.public int m;C.static int m;D.p rivate int m;5.任何一个Java程序都默认引入了一个包,这个包名是(A)。

ngB.java.objectD.java.io6.Java中默认的处理异常方法为(A)。

A.显示异常信息,停止程序运行B.显示异常信息,不停止程序运行C.不显示异常信息,但停止程序运行D.什么都不做7.Java中,欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的方法是(B)。

A.ArrayList myList = new Object();B.List myList = new ArrayList();C.ArrayList myList = new List();D.List myList = new List();8.Java中,在任何方法返回前,绝对要执行的代码应放在(C)块中。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。

A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。

答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。

答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。

答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。

答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。

答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。

()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。

(完整版)JAVA试题及答案(50道选择题)

(完整版)JAVA试题及答案(50道选择题)

选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真”;D、b oolean a = = false;6、以下(C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str。

equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System。

外文翻译---Java核心技术 卷Ⅱ高级特性

外文翻译---Java核心技术 卷Ⅱ高级特性

附录4 外文翻译Java核心技术卷Ⅱ高级特性当Java技术刚刚问世时,令人激动的并不是因为它是一个设计完美的编程语言,而是因为它能够安全地运行通过因特网传播的各种applet。

很显然,只有当用户确信applet的代码不会破坏他的计算机时,用户才会接受在网上传播的可执行的applet。

正因为如此,无论过去还是现在,安全都是设计人员和Java技术使用者所关心的一个重大问题。

这就意味着,Java技术与其他的语言和系统有所不同,在那些语言和系统中安全是事后才想到要去实现的,或者仅仅是对破坏的一种应对措施,而对Java技术来说,安全机制是一个不可分割的组成部分。

Java技术提供了以下三种确保安全的机制:(1)语言设计特性(对数组的边界进行检查,无不检查类型的转换,无指针算法等)。

(2)访问控制机制,用于控制代码能够执行的功能(比如文件访问,网络访问等)。

(3) 代码签名,利用该特性,代码的作者就能够用标准的加密算法来表明Java代码的身份。

这样,该代码的使用者就能够准确地知道谁创建了该代码,以及代码被标识后是否被修改过。

下面,我们要介绍java.security包提供的加密算法,用来进行代码的标识和用户身份认证。

正如我们前面所说,applet 是在Java平台上开始流行起来的。

实际上,人们发现尽管他们可以编写像著名的“nervous text”那样栩栩如生的applet,但是在JDK1.0安全模式下无法发挥其一整套非常有用的作用。

例如,由于JDK1.0下的applet要受到严密的监督,因此,即使applet在公司安全内部网上运行时的风险相对较小,applet也无法在企业内部网上发挥很大的作用。

Sun公司很快就认识到,要使applet真正变得非常有用,用户必须可以根据applet的来源为其分配不同的安全级别。

如果applet来自值得信赖的提供商,并且没有被篡改过,那么applet的用户就可以决定是否给applet授予更多的运行特权。

java试题库及答案

java试题库及答案

java试题库及答案1. 以下哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C2. Java中的`==`和`equals()`方法有什么区别?A. `==`用于比较对象的引用,`equals()`用于比较对象的值B. `==`用于比较对象的值,`equals()`用于比较对象的引用C. 两者都用于比较对象的值D. 两者都用于比较对象的引用答案:A3. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. final答案:B4. 下列哪个选项是Java中的多态?A. 一个方法可以有多个实现B. 一个方法可以有多个重载C. 一个类可以继承多个类D. 一个类可以有多个接口答案:A5. Java中,下列哪个选项不是访问修饰符?A. publicB. privateC. protectedD. static答案:D6. 在Java中,下列哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C7. 下列哪个选项是Java中的集合框架?A. CollectionsB. ArraysC. StreamsD. All of the above答案:D8. 在Java中,下列哪个选项用于创建线程?A. implements RunnableB. extends ThreadC. implements CallableD. Both A and B答案:D9. Java中的垃圾回收机制是做什么的?A. 编译代码B. 运行代码C. 自动回收不再使用的对象D. 管理内存分配答案:C10. 下列哪个选项不是Java中的异常类型?A. RuntimeExceptionB. IOExceptionC. SQLExceptionD. Exception答案:D。

Java核心(面向对象高级)测试题

Java核心(面向对象高级)测试题

《Java核心技术》阶段测试一一、不定向选择题(共30题,每题2分,共60分)1) 在Java类中,使用以下()声明语句来定义公有的int型静态常量MAX。

A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 在Java中,下列关于方法重载的说法中错误的是()。

A. 方法重载要求方法名称必须相同B. 重载方法的参数列表必须不一致C. 重载方法的返回类型必须一致D. 一个方法在所属的类中只能被重载一次3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。

public class Test{public void cal(int x, int y, int z) {}}A. public intcal(int x, int y, float z){ return 0; }B. public intcal(int x, int y, int z){ return 0; }C. public void cal(int x, int z){ }D. public void cal(int z, int y, int x){ }4) 现有两个类A、B,以下描述中表示B继承自A的是()。

A. class A extends BB. class B implements AC. class A implements BD. class B extends A5) 下面Java代码的运行结果是()。

class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。

java考试试题及答案

java考试试题及答案

java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。

答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。

Java考试试题有答案

Java考试试题有答案

一、单选题(共60题,每小题1分,共60分)1、Java JDK中调试器的命令是( A )。

A.javacB.javaC.jdbD.javah2、运行jar文件中class文件需要在java命令后面加的参数为(D )。

A.-cp B -g C -d D -verbose3、下面哪项在java中是不合法的标识符?(D )A.$userB.pointC.You&meD._endline4、下列哪一项不是Java保留字?( A )A.sizeofB.superC.abstractD.break5、下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变?( A )A.BorderLayoutB.CardLayoutC.GridLayoutD.FlowLayout6、下面哪些java语句会导致无限循环?( B )I、while (true) i = 0;II、while (false) i = 1;III、while (!false) i = 0;A、III onlyB、I and III onlyC、I onlyD、I, II and III7、下面是Example.java文件的完整代码,请找出会产生编译错误的行(C)。

1) class BaseClass {2) public String str;3) public BaseClass(){4) System.out.println(“ok”);}5) public BaseClass(String s){6) str=s;}}7) class SubClass extends BaseClass{8) }9) public class Example{10) public void method(){11) SubClass s=new SubClass(“hello”);12) BaseClass b=new BaseClass(“world”);13) }14) }A.7B.10C.11D.128、可以在下面代码段point x处写入的是( D )。

java中级考试题目及答案

java中级考试题目及答案

java中级考试题目及答案1. 题目:以下哪个选项是Java语言的特性?A. 静态类型B. 动态类型C. 编译型D. 解释型答案:A2. 题目:Java中的集合类存放于哪个包中?A. java.utilB. C. java.ioD. ng答案:A3. 题目:以下哪个关键字用于定义Java接口?A. classB. interfaceC. implementsD. extends答案:B4. 题目:Java中创建线程的方法有哪些?A. 实现Runnable接口B. 继承Thread类C. 实现Callable接口D. 以上都是答案:D5. 题目:以下哪个选项是Java异常处理的关键字?A. tryB. catchC. finallyD. 以上都是答案:D6. 题目:Java中,以下哪个关键字用于定义一个类为抽象类?A. abstractB. interfaceC. finalD. static答案:A7. 题目:Java中,以下哪个关键字用于实现多态?A. extendsB. implementsC. superD. this答案:A8. 题目:Java中,以下哪个关键字用于声明一个方法为重载方法?A. overloadB. overloadingC. overloadD. 无关键字,通过方法名和参数列表实现答案:D9. 题目:Java中,以下哪个关键字用于声明一个方法为重写方法?A. overrideB. overloadC. overloadingD. 无关键字,通过方法名和参数列表实现答案:A10. 题目:Java中,以下哪个关键字用于声明一个方法为同步方法?A. synchronizedB. staticC. finalD. abstract答案:A。

java核心技术·卷i 基础知识第12版中文

java核心技术·卷i 基础知识第12版中文

Java核心技术·卷I 基础知识第12版中文是一本经典的Java编程语言教程,由Cay S. Horstmann和Gary Cornell合著。

本书深入浅出地介绍了Java语言的基本知识和核心技术,是学习和掌握Java编程语言的重要参考书籍。

本书的主要内容包括Java语言的基本概念、面向对象编程、控制流程、数组、字符串和输入输出等方面的内容。

通过系统而深入的讲解,读者可以逐步掌握Java语言的核心技术,从而成为有经验的Java程序员。

以下是本书内容的主要特点:1.全面系统的介绍了Java编程语言的基本知识和核心技术,包括控制语句、数组、字符串、面向对象编程、异常处理、输入输出等方面的内容。

2.采用了清晰易懂的语言和大量的实例,帮助读者深入理解Java编程语言的各种知识点。

3.提供了丰富的编程实例和练习题,让读者可以通过实际操作巩固所学知识,提升编程能力。

4.涵盖了Java SE 8中新增的特性和改进,使得本书的内容更加贴近当今的Java编程实践。

5.针对初学者的特点,本书在讲解难点的地方进行了重点详细的讲解,在基础内容上有很好的拓展。

通过学习Java核心技术·卷I 基础知识第12版中文,读者可以系统全面地掌握Java编程语言的核心技术,为进一步深入学习和应用Java 语言打下坚实的基础。

本书适合Java初学者和有一定基础的Java程序员阅读,也可以作为Java编程语言的教学参考书。

Java核心技术·卷I 基础知识第12版中文是一本经典的Java编程语言教程,内容丰富全面,深入浅出,适合广大Java学习者阅读。

如果你想系统地学习和掌握Java编程语言的核心技术,那么这本书绝对是你的不二选择!由于Java核心技术·卷I 基础知识第12版中文始终保持着在计算机编程界的经典地位,本书不仅仅是一本教程,更是一部深入探究Java编程核心的著作。

在新的1500字的部分,我们将进一步探讨本书的内容特点和对读者的学习帮助,以及本书面向的读者裙体和实际应用。

学习笔记-java核心技术卷一

学习笔记-java核心技术卷一

学习笔记-java核⼼技术卷⼀整理下core of java第三章、java的基本程序设计结构⼀个简单的java应⽤程序⼀个简单的java应⽤程序,概览下java的语法public class FirstSample{public static void main(String[] args){System.out.println("We will not use 'Hello, World!'");}}1. java对⼤⼩写敏感2. 关键字public :访问修饰符,⽤于控制程序的其他部分对于这部分代码的访问级别3. 关键字class:java程序中的全部内容都包含在类中,java程序的所有内容都应该放置在类中4. class后紧跟类名,类名的命名格式:以⼤写字母开头的名次,使⽤骆驼命名法,是数字和字母的组合5. 源⽂件的⽂件名必须与公共类的⽂件名相同,并以.java做扩展名6. 运⾏编译程序时,java虚拟机从指定类的main⽅法开始执⾏,每⼀个java程序都必须要有⼀个main⽅法7. java⽤{}花括号划分程序的各个块,任何⽅法的代码都以{开始,⽤}结束,我们⼀般会把匹配的花括号上下对齐,java执⾏忽略空格符号8. 每个句⼦必须⽤分号;结束,回车不是结束标志,因此需要时可以将⼀条语句写在多⾏上9. java的通⽤语法是:object.method(parameter)等价于于函数调⽤,点号⽤于调⽤⽅法10. java⽅法可以没有参数,也可以有⼀个两个N个参数,但是没有参数也要有空括号()(⼀般⽅法⾸字母是⼩写,基本类型也是⼩写,其他对象类名接⼝名⾸字母⼤写,后续单词都⽤驼峰命名法)数据类型java是⼀种强类型的语⾔,必须为每⼀个变量声明⼀种类型,在java中⼀共⼋种基本类型四种整型 int(4字节) short(2字节) long(8字节) byte(1字节 -2^7 ~2^7 ) [bait]两种浮点型 float(4字节) double(8字节)char类型表⽰单个字符,如’A‘,常⽤于表⽰字符常量,表⽰Unicode编码布尔类型只有两个值,true 和 false,⽤来判断逻辑条件,整型和布尔值之间不可以相互转换声明变量举例 int num;类型名在变量名之前,并且这条语句以分号结束变量名是⼀个以字母开头的由字母或数据构成的序列,java中的字母指Unicode字符,包括下划线等变量初始化声明⼀个变量以后,⼀定要使⽤赋值语句对变量进⾏显式的初始化,不可使⽤未被初始化的变量对于已声明的变量进⾏复制的格式是,变量名放在等于号左侧,响应的java表达式处于等于号右侧int num;int num = 10;也可以把变量的初始化和声明放在⼀⾏,⽐如int num = 10;常量java中,使⽤final关键字指⽰常量,表⽰这个变量只能被赋值⼀次,⼀旦被赋值后,就不能再更改了,⼀般常量名全部⼤写在java中,经常会希望某个变量可以在⼀个类中的多个⽅法使⽤,通常将这些变量称为类变量,可以⽤关键字static final设置⼀个类常量类常量定于于main⽅法外⾯,那么这个类的其他⽅法也能使⽤这个常量,如果类常量被声明为public,那么其他类也能使⽤这个常量如果想要该常量在其他类的⽅法也可以使⽤,那么就加上public关键字,只在此类的⽅法使⽤,那么加上private关键字运算符+ - * / % 加减乘除取余,当参与/运算的都是整型时,表⽰整数除法,如果有⼀个是浮点数,那么是浮点除法可以在赋值语句中,使⽤⼀种简化的格式书写⼆元算数运算符例如 x + = 4;等价于x = x+ 4⾃增和⾃减运算符,n++相当于将变量n的当前值+1,n--将n的值减⼀,⾃增和⾃减运算符需要注意两个点⾃增和⾃减运算符更改了变量的值,所以操作数不可以是数值,⽐如4++是不合法的⾃增和⾃减运算符可以前缀形式,++n和n++结果⼀样,但是在数学表达式中,++n使⽤+1之后的值,n++使⽤当前值,最好不要在表达式⾥中⽤关系运算符关系运算符 == 检验相等!=校验不等于 < > <= >=逻辑运算符 && 逻辑与 || 逻辑或!逻辑⾮,逻辑运算时,如果第⼀个操作数已经能确定表达式的值,那么不会计算第⼆个操作数三元运算符问号 condition?exp1:exp2 条件为真时计算第⼀个表达式,条件为假时计算第⼆个表达式,并返回对应表达式的值位运算符在处理整型数值时,可以直接对组成整型的各个位进⾏操作,这意味着可以使⽤屏蔽技术获得整数中的各个位&与|或^异或~⾮关于异或,如果符号左右两值不相等,异或结果为1,相等结果为0;强制类型转换=(类型名)变量枚举类型 enum Size {q,w,d };字符串,java基本类型⾥没有字符串类型,有⼀个预定义类String,每个⽤双引号括起来的字符都是String类的⼀个实例substring⽅法可以从较⼤字符⾥获得⼀个⼦串s.substring(n,m)从位置为s字符串的位置n的字符到位置m-1的字符,总长度为m-n,⽐如(0,3)是0 1 2 三个字符允许⽤+号拼接两个字符串,且如果+号连接的有⾮字符串,后⼀个被⾃动转换成字符串并拼接JAVA字符串不可更改,因为String类没有提供⽤于直接修改字符串的⽅法,如果想更改,可以⽤substring截取后再⽤+号拼接的⽅式String类的equals⽅法可以⽐较字符串是否相等,不可以⽤==,⽤==⽐较的是字符串所在的位置String类的⼀些⽅法,假设⼀个String str =“abcdef”;int i =str.length() ; 返回⼀个int值,为字符串的长度,6char c=str.charAt(2);返回⼀个char值,为位置2的字符,也就是cchar c[] =str.toCharArray();返回⼀个char数组类型for(int i = 0; i < c.length; i++) {};可以c数据遍历int a1 = str.indexOf("bc",0);返回bc字符串第⼀次出现的开始位置,如⽆返回-1int q2 = stIndexOf("bc");返回bc字符串最后⼀次出现的开始位置,如⽆返回-1equals(String other) ;⽐较字符串是否相等,相等返回trueequalsIngnoreCase(String other);⽐较字符串是否相等,忽略⼤⼩写,相等返回trueString s = str.toUpperCase(); 返回全部⼤写的字符串String s = str.toLowerCase();返回全部⼩写的字符串trim();删除字符串前后的空格contains(String other) ;是否包含对应的字符串,包含返回truestartsWith(String other);是否以某字符串开始,是返回trueendsWith(String other);是否以某字符串结束,是返回trueString s =str.replace(char oldchar,char newchar)⽤newchar替换str⾥的所有oldchar string 和int之间的转换string转换成int :Integer.valueOf("12")int转换成string : Integer.valueOf(12)由于java String的拼接⽐较⿇烦,所以可以使⽤Stringbuilder 类,也可以成为String的构建器Stringbuilder b = new StringBuilder();int length()StringBuilder append(String str)拼接⼀个字符串并返回thisStringBuilder append(char c)拼接⼀个字符并返回thisvoid setCharAt(int i ,char c) 将位置i的代码单元设置为cStringBuilder insert(int i,String s)在i位置插⼊⼀个代码单元并返回thisStringBuilder insert(int i,char c)在i位置插⼊⼀个代码单元并返回thisStringBuilder delete(int n,int m)删除从n开始到m-1的代码单元并返回thisString toString()返回⼀个和构建器内容相同的字符串(java中计算位置都是从0开始的)打印输⼊输出到控制台输⼊:略输出 System.out.println(x);控制流程java使⽤条件语句和循环结构确定控制流程⼀对花括号括起来的若⼲条java语句叫做块,块确定了变量的作⽤域块可以嵌套,不能在嵌套的两个块中声明同名的变量条件语句条件为真时,执⾏⼀条语句if(condation)statement//注意观察这个条件语句,if直接跟括号,括号⾥放条件,如果是⼀条,可以直接在⼩括号⾥放如果希望条件为真时,执⾏多条语句,那么就要使⽤块,也就是⽤中括号把代码扩起来if(condation){statement1;statement2;}带else的情况就是 if(condation) statement1 else statement2注意块的逻辑是若⼲条java语句,所以如果条件语句嵌套,也是利⽤中括号来实现的循环语句while(condation)statement如果条件为ture时,循环执⾏之后的语句或者语句块//注意,这⾥可以看出条件语句都在⼩括号⾥如果条件为false 就什么也不执⾏如果想要其后的语句⾄少执⾏⼀次,那么使⽤do statement while(condation)do while是先执⾏语句或者语句块,再检验循环条件,如果为true继续执⾏语句,为false继续向下执⾏确定循环for循环是⽀持迭代的⼀种通⽤结构,利⽤每次迭代之后更新的计数器或者类似变量来控制迭代次数⽐如把1到10的数输出发到屏幕上for(int i=1;i<=10;i++)System.out.println(i);for (计数器初始化;每次新⼀轮循环前需要检测的循环条件;如何更新计数器)for语句的三个部分应该对同⼀个计数器变量进⾏初始化、检测、更新for语句的第⼀部分声明的变量,这个变量的作⽤域就只是for循环的整个循环体,不可在循环体之外使⽤那么因此产⽣两个现象,⼀是可以在各⾃独⽴的不同的for循环定义同名的变量第⼆个是,如果我们想要在循环体之外使⽤计数器的终值,要确保这个变量在循环语句的前⾯⽽且在外部声明!如下int i;for (i=1;i<=10;i++){...}for循环是while循环的⼀种简化形式,可以使⽤while循环写出同样的逻辑还有⼀种for each循环,可以依次处理数组中的每个元素,⽽不必考虑指定下标for (某变量:集合)语句块⽐如for(int element:a)定义⼀个某变量⽤来暂存集合中的每⼀个元素,针对该变量执⾏语句,达到遍历执⾏的效果也就是for each element in a但是在不希望遍历集合的每个元素,或者循环内部需要下标时,还是需要传统for循环多重选择:switch为了避免if else结构在处理多个选项时的笨重,可以使⽤switch语句switch语句将执⾏与选项值相匹配的case开始执⾏直到遇到break语句,如果⽆任何匹配case,⾛default⼦句switch(choice){case1:...break;case2:...break;default://bad input...break;}case可以是char byte short int或者其包装类,枚举常量,如果是枚举常量时,不⽤在每个标签中指明枚举值,可以由switch的表达式值确定⼤数值:略数组数组是⼀种数据结构,⽤来存储同⼀类型值的集合,通过⼀个整型下标可以访问数组中的每⼀个值,如a[i]数组变量的声明,数组类型[] 数组变量的名字,⽐如 int[] a //可以将int[] 理解为整型数组,那么显然a被声明了⼀个整型数组给数组a赋值,数组是⽤new运算符创建的,int[] a= int(100); 该语句创建了⼀个可以储存100个整数的数组数组长度也可以是个变量 a=new int(n);创建⼀个长度为n的数组创建数组后,如果是数字数组,所有元素初始化为0,布尔类型初始化为false,对象数据初始化为null数组的初始化也有⼀种简写形式,可以进⾏初始化元素值,同时定义数组长度int[] test ={2,35,6,7};test =new int[] {2,35,6,7};要获得数组的元素的个数,可以使⽤a.length⼀旦创建了数组就不能改变它的⼤⼩,如果经常需要改变数组⼤⼩的,就应该使⽤另⼀种数据接⼝,数组列表(arraylist)//通过此理解下【数据结构】的概念数组拷贝:略命令⾏参数每个java应⽤程序都有⼀个带String args[] 参数的main⽅法,这个参数表明main⽅法将接收⼀个字符串数组,也就是命令⾏参数数组排序可以⽤Arrays类的sort⽅法快速排序,Arrays.sort(a);多维数组,声明⼀个多维数组 double[][] =balances;多维数组其实是数组的数组,数组的每个元素是包含元素的数组//需要了解Array类和ArrayList类,使⽤范围和区别,并因此去看⼀些算法题,你要举重若轻对象与类类是构造对象的模版,由类构造对象的过程称为创建类的实例java编写的所有代码都位于某个类的内部封装是将对象的数据和⾏为组合在⼀个包⾥,并对对象的使⽤者隐藏了的具体实现⽅式每个特定的对象都有⼀组特定的属性值,这些值的集合就是这个对象的当前状态实现封装的关键是,不能让类中的⽅法直接访问其他类的实例域,程序仅仅通过对象的⽅法与对象数据进⾏交互对象的三个主要特性:⾏为,状态,标识对象的状态只能通过调⽤⽅法来实现OOP的编写思路:⾸先从设计类开始,然后往每个类⾥加⽅法(算法题是直接写⽅法,所以确定了⽅法参数和返回即可),经验之谈是名词对应属性,动词对应⽅法要想使⽤对象,⾸先要构造对象,并指定其初始状态,然后,对对象使⽤放哪啊⾼发⽅法的构造:java中使⽤构造器构造新实例,构造器是⼀种特殊的⽅法,⽤来构造并初始化对象构造器的特点构造器名字与类相同 //构造器⾸字母⼤写,不同于其他⽅法每个类可以有⼀个以上的构造器构造器可以有0个、1个或者多个参数构造器没有返回值构造器总伴随这new操作符⼀起被调⽤new date()通过new操作符和构造器⽅法构造⼀个对象后,该对象可以传给其他⽅法,也可以对该对象使⽤⽅法如果希望构造的对象多次使⽤,可以将对象存放在⼀个变量中 Date d = new Date();Date是类型声明,d是变量,new操作符号,Date()构造器d就是⼀个对象变量,即引⽤了⼀个Date对象修改实例域⽅法称为修改器⽅法,习惯上会加上前缀set仅访问实例域⽽不修改的⽅法称为访问器⽅法,习惯上会加上前缀get⼀个完整的程序,应该将若⼲类组合在⼀起,其中只有⼀个类有main⽅法最简单的类定义形式:class 类名{属性构造器⽅法}源⽂件名(xxxx.java)必须与public的类名⼀致,在⼀个源⽂件中只能有⼀个公有类,但是可以有任意数⽬的⾮公有类程序员习惯于将每⼀个类存到⼀个单独的源⽂件⾥对于某些⽅法来说,出现在括号⾥的参数是显式参数,⽽如果会⽤到对象本⾝,这个对象就是隐式参数,关键词this可以表⽰隐式参数final 实例域,在每⼀个构造器执⾏之后,这个域的值被设置,并且在后⾯的操作不会再对它进⾏修改static 静态域,被static 修饰的属性,属于类,⽽不属于对象,没有static修饰的属性则每个对象有不同的属性静态常量,也是⼀个意思,属于类,⽽不属于对象,如果不被static修饰,则每个对象都要拷贝⼀份,⽐如private final static double PI 静态⽅法,是没有this参数的⽅法,即不能对对象本⾝实施操作的⽅法,如果⼀个⽅法不需要访问对象状态,所需要参数都是显式参数;或者只需要访问类的静态域,可以使⽤静态类每个类对象的⽅法都可以对公有域进⾏修改,所以⼀般不要把实例域设计成publicmain⽅法就是个静态⽅法值调⽤:表⽰⽅法接收的是调⽤者提供的值,不可修改引⽤调⽤:⽅法接收的是调⽤者提供的变量地址,可修改JAVA总是按值调⽤,⽅法所得到的是所有参数值的⼀个拷贝⼀个⽅法不可能修改⼀个基本数据类型的参数重载:如果⼀个类中,多个⽅法有相同的名字,不同的参数,便产⽣了重载要完整的描述⼀个⽅法,需要指出⽅法名和参数类型,即⼀个⽅法的唯⼀标识是⽅法名和参数类型的组合⼀个类,最好要有⼀个⽆参数的构造器,如果⼀个构造器都没有,系统会提供⼀个⽆参数构造器如果⼀个类的实例域有每个构造器都会需要赋值的,可以将其直接在类中赋值Random()构造⼀个新的随机数⽣成器int nextInt(int n )返回⼀个1~ n-1之间的随机数java允许使⽤包将类组织起来,使⽤包的主要原因是确保类名的唯⼀性标记public 的类,可以被任意的类使⽤标记private的类,只能被定义他们的类使⽤如果没有标记,这⼀部分可以被同⼀个包的所有⽅法访问继承:基于已有的类构造⼀个类,⼦类可以继承⽗类的实例域和⽅法,在此基础还可以添加新的⽅法和域,以满⾜新需求继承关系的判定,即is -a关系,每个⼦类对象也是⽗类的对象多态抽象类抽象⽅法ArrayList是⼀个采⽤类型参数的泛型类,尖括号中的类型就是数组列表中保存的元素对象类型ArrayList<Integer> data = new ArrayList<>;add⽅法在数组列表的尾部添加元素增void add(int index,T obj)在index位置插⼊obj,其他元素向后移动int size()返回实际包含的元素数⽬T set(int index,T obj)⽤obj覆盖对应index的值T get(int index)获取指定位置的元素值T remove(int index)删除⼀个元素,将后⾯的元素向前移动,被删除的元素由返回值返回Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。

java考试试题及答案

java考试试题及答案

java考试试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. interface答案:B2. 下列哪个选项是Java中定义方法的语法?A. public void myMethod();B. public void myMethod;C. public void myMethod{}D. public void myMethod()答案:A3. 在Java中,下列哪个选项不是基本数据类型?A. intB. doubleC. StringD. char答案:C4. 下列哪个关键字用于抛出异常?A. throwB. throwsC. exceptionD. catch答案:B5. 在Java中,下列哪个选项是正确的继承关系?A. class A extends BB. class A implements BC. class A implements AD. class A extends B implements C答案:D6. 下列哪个选项是Java中正确的包声明?A. package com.example;B. package com.example:C. package com.example;D. package com.example;答案:A7. 在Java中,下列哪个选项是正确的数组初始化方式?A. int[] myArray = new int[10];B. int[] myArray = {10};C. int[] myArray = new int[]{1, 2, 3};D. All of the above答案:D8. 下列哪个选项是Java中正确的方法重载?A. public void print(int i);B. public int print(int i);C. public void print();D. All of the above答案:D9. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. enum答案:A10. 下列哪个选项是Java中正确的泛型声明?A. List<String> list = new ArrayList<>();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<>();D. List<String> list = new ArrayList<Object>();答案:A二、填空题(每题2分,共20分)1. 在Java中,____关键字用于定义一个包。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、不定向选择题(共30题,每题2分,共60分)1、为了区分重载多态中同名的不同方法,要求( )。

A) 采用不同的参数列表B) 返回值类型不同C) 调用时用类名或对象名做前缀D) 参数名不同2、定义主类的类头时可以使用的访问控制符是( )。

A) private B) protected C) public D) private protected3、下列整型的常量属性i 的定义中,正确的是( )。

A) static final int i=100; B) final int i;C) static int i; D) final float i=1.2f;4、设x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

A) public x x1= new y( ); B) x x1=x( );C) x x1=new x( ); D) int x x1;5、下列方法定义中,正确的是( )。

A) int x( int a,b ) B) double x( int a,int b){ return (a-b); } { int w; w=a-b; }C) double x( a,b ) D) int x( int a,int b){ return b; } { return a-b; }6、为了使包sos在当前程序中可见,可以使用的语句是( )。

A)import sos.*; B)package sos.*;C)sos import; D)sos package;7、设i、j、k 为类X 中定义的int 型变量名,下列类X 的构造函数中正确的是( )。

A) X( int i){ ... } B) void X( int i){ ... }C) X( int i, int j){ ... } D)X( int i,int j,int k){ ... }8、下列类头定义中,正确的是( )。

A) class x B) public x extends y{ .... } { .... }C) public class x extends y D) class x extends y implements y1 { .... } { .... }9、下面是有关子类继承父类构造函数的描述,其中正确的是( )。

A) 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B) 子类无条件地继承父类不含参数的构造函数。

C) 子类通过super关键字调用父类的构造函数。

D) 子类无法继承父类的构造函数。

10、下面说法正确的是( )。

A) final 可修饰类、属性、方法。

B) abstract可修饰类、属性、方法。

C) 定义抽象方法需有方法的返回类型、名称、参数列表和方法体。

D) 用final修饰的变量,在程序中可对这个变量的值进行更改。

11、现有两个类A、B,以下描述中表示B继承自A的是( )。

A) class A extends B B) class B implements AC) class A implements B D) class B extends A12、Java中的每一个类:A)只能有一个父类B)可以有多个父类C)可以没有父类D)只能实现一个接口13、以下程序运行结果是:public class FatherClass{public FatherClass(){System.out.print ("Father ");}}public class ChildClass extends FatherClass {public ChildClass() {System.out.print ("Child ");}public static void main(String[] args) {FatherClass fc = new ChildClass();}}A) FatherChild B) ChildC) Father D) 出错14、同一类中有两个以上方法同名称方法重载,Java语言规定:A) 不允许重载;B) 父类的方法与子类的方法不构成重载;C) 重载方法的参数表必须不同;D) 重载方法的返回值类型必须不同。

15、下述关于继承的说法正确的是:A) 要从一个父类派生出一个子类,就要将父类代码全部复制过来,再添上子类特有的代码。

B) 声明继承某个父类就意味着可以使用父类的全部非private变量和方法。

C) 被继承的父类代码必须与子类代码在同一个源代码文件(.java文件)内。

D) 父类的字节码文件(.class文件)必须与子类的字节码文件放在同一文件夹中。

16、在Java类中,使用以下()声明语句来定义公有的int型静态常量MAX。

A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;17、关于在子类中调用父类构造方法的问题,下述说法正确的是:A) 子类构造方法一定要调用父类的构造方法;B) 子类构造方法只能在第一条语句调用父类的构造方法;C) 调用父类构造方法的方式是:父类名(参数表);D) 默认情况下子类的构造方法将调用父类的无参数构造方法。

18、子类中定义的方法与父类方法同名且同形时称父类方法被复盖(也称重写)以下说法正确的是:A) 父类对象调用的也是子类的方法;B) 在子类中仍可用super.方法名调用父被复盖的方法;C) 父类中用final修饰的方法不允许被复盖;D) 子类方法必须与父类被重写的方法在访问权限、返回值类型、参数表等方面完全一致。

19、用abstract修饰的类称为抽象类,它们:A) 只能用以派生新类,不能用以创建对象;B) 只能用以创建对象,不能用以派生新类;C) 既可用以创建对象,也可用以派生新类;D) 既不能用以创建对象,也不可用来派生新类。

20、下面Java代码的运行结果是()。

class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。

");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。

");}public static void main(String[] args) {Penguin pgn = new Penguin();pgn.print();}}A. 企鹅的名字是null,健康值是10,性别是雄。

B. 执行构造方法。

企鹅的名字是null,健康值是0,性别是null。

C. 企鹅的名字是null,健康值是0,性别是null。

D. 执行构造方法。

企鹅的名字是null,健康值是10,性别是雄。

21、类中的某个方法是用final修饰的,则该方法:A) 是虚拟的,没有方法体;B)是最终的,不能被子类继承;C)不能用被子类同名方法复盖;D)不能用被子类其它方法调用。

22、一个类中,用static修饰的变量称静态变量:A) 同一时刻,该类的所有对象中该变量值都相同;B) 所有对象中的方法都不能对该变量进行赋值操作;C) 其值不能改变;D) 与实例变量一样,每个对象中的值互相独立。

23、一个类中,用static修饰的方法称静态方法:A) 该类中其它方法不能调用它;B) 它不能直接调用类中其它不用static修饰的方法;C) 没有用类创建对象之前,类外无法调用该方法;D) 类外调用该方法的方式必须是:对象名.方法名(实参数据)。

24、在定义一个类时,若希望某个成员方法调用范围是同一包内所有类,其修饰词应为:A)public B)private C)protected D)默认25、关于接口以下说法正确的是:A) 接口中的变量必须用public static final三个修饰词修饰;B) 接口中的方法必须用public abstract两个修饰符修饰;C) 一个接口可以继承多个父接口;D) 接口的构造方法名必须为接口名。

26、以下关于接口对象的说法中正确的是:A) 接口只能被类实现,不能用来声明对象;B) 接口对象可以用关键词new创建;C) 接口对象可以等于任何类的对象;D) 接口对象只能等于实现该接口的类的对象;27、若有如下接口A的定义,下列哪些类下确实现了该接口interface A {void method1(int i);void method2(int j);}A)class B implements A{void method1( ) { }void method2( ) { }}B)class B {void method1(int i ) { }void method2(int j ) { }}C)class B implements A {void method1(int i ) { }void method2(int j ) { }}D)class B implements A{public void method1(int x ) { }public void method2(int y ) { }}28、关于Java中包的概念,以下正确的是:A) 包是一些类与接口的集合;B) Java的包中可以包含子包;C) 包中的类与子包中的类被认为是同一包内;D) 包中的类不能访问子包中非public的类。

29) 在Java中,有如下两个类Student和Person。

如果Student是Person的子类,则下列声明对象x的语句中错误的是()。

A. Person x = new Student()B. Person x = new Person()C. Student x = new Person()D. Student x = new Student()30、关于以下程序叙述正确的是:class Base {Base(int i){System.out.print(“Base ”);}}class T est extends Base{T est ( ){System.out.print(“T est ”);}public static void main(String[] args){T est b = new T est();}}A)程序运行出错,因为Base类未定义构造方法;B)程序运行正常,输出Base ;C)程序运行正常,输出Base T est ;D)程序运行正常,但无输出。

相关文档
最新文档