JAVA类与对象及数组习题及复习资料
java类与对象选择题附加答案解析
![java类与对象选择题附加答案解析](https://img.taocdn.com/s3/m/c47932d0d1d233d4b14e852458fb770bf68a3b17.png)
Java 类与对象选择题练习附加答案解析1. 以下关于Java类的描述,正确的是:A. 类是对象的实例。
B. 类可以包含属性和方法。
C. 类不能继承其他类。
D. 类只能包含一个方法。
答案: B。
解析:类是对象的蓝图或模板,可以包含属性(成员变量)和方法(成员函数)。
2. 在Java中,要创建一个类的对象,应使用哪个关键字?A. newB. createC. instantiateD. make答案: A。
解析:在Java中,使用`new`关键字来创建类的对象。
3. 在以下关于构造方法的描述中,正确的是:A. 构造方法必须有返回类型。
B. 构造方法的名称必须与类名相同。
C. 构造方法可以是静态的。
D. 构造方法可以重载但不能覆盖。
答案: B。
解析:构造方法的名称必须与类名相同,并且没有返回类型(包括void)。
构造方法可以重载(多个同名但参数不同的方法),但不能覆盖(重写父类方法)。
4. 如果`MyClass`类有一个名为`display`的方法,且`myObject`是`MyClass`类的一个实例,如何调用该方法?A. display();B. MyClass.display();C. myObject.display();D. MyClass::display();答案: C。
解析:通过对象实例`myObject`来调用类的非静态方法`display`。
5. 以下哪个选项是关于`this`关键字的正确描述?A. `this`关键字指向类的超类(父类)。
B. `this`关键字只能在静态方法中使用。
C. `this`关键字引用当前对象的实例。
D. `this`关键字用于创建新的对象。
答案: C。
解析:`this`关键字引用当前对象的实例,可以在类的方法和构造方法中使用来引用当前对象的成员变量或方法。
6. 在Java中,如果类B继承自类A,且类A是基类,则下列哪个选项是正确的?A. 类B是类A的超类。
(本)JAVA复习题库-推荐下载
![(本)JAVA复习题库-推荐下载](https://img.taocdn.com/s3/m/3350442e10a6f524ccbf85f5.png)
18、Java 语言最初是面向哪个应用领域设计的?( C )
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线0产中不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资22负料,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看2与全22过,22度并22工且22作尽2下可护1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编5试技写、卷术重电保交要气护底设设装。备备4置管高调、动线中试电作敷资高气,设料中课并3技试资件且、术卷料拒管中试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
JAVA期末复习资料
![JAVA期末复习资料](https://img.taocdn.com/s3/m/35a47729bfd5b9f3f90f76c66137ee06eff94eb6.png)
JAVA期末复习资料一、判断题1、在main方法中可以直接调用非静态的方法。
(F)2、方法重载就是一个类中有多个同名但有不同形参和方法体的方法。
(T)3、一个Java源程序可有多个类,但只仅有一个public类,而且源程序名与public类名相同。
(T)4、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(T)5、方法中的形参可以和方法所属类的属性同名。
( T )6、Java类中不能存在同名的两个成员函数。
( F )7、可以用new来创建一个类的实例,即“对象”。
( T )8、Java中类的构造函数只能有一个。
( F )9、类的静态变量被该类的所有对象共享。
( T )10、不管定义与否,任何类都有一个不带参数的构造方法。
( F )11、一个类可以访问另一个类的私有成员。
( F )12、构造方法没有返回值,因此在定义构造方法时,其返回值类型必须声明为void。
( F )13、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。
( T )14、构造方法的名字必须与类名相同。
( T )15、一个类的私有变量可以在同一个包的不同类中使用。
( F )16、实例变量不能在类方法中直接引用,而类变量可以在实例方法中直接引用。
( T )17、抽象类可有构造方法,因此也能用new进行实例化。
(F)18、一个类可继承多个父类,实现多个接口。
( F)19、用final修饰的类不能被继承。
(T)20、接口中的成员变量全部为常量,方法为抽象方法。
(T)21、接口无构造器,不能有实例,也不能定义常量。
( F )22、java的类不允许嵌套定义。
( F)23、在接口中所有的方法都是抽象方法,所以必须在方法定义之前加上abstract关键字。
(F)24、抽象类中不能包含final修饰的方法。
(T)25、子类可以继承父类所有的成员变量及成员函数。
(F)26、接口可以被另一个接口继承。
JAVA复习题及答案
![JAVA复习题及答案](https://img.taocdn.com/s3/m/f87079e605087632311212ea.png)
第一章JAVA概述1.JAVA中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台).2.JAVA从第几版称为JAVA2:JAVA 1.2版。
3.JAVA有否指针:无。
4.JAVA的API指的是什么:Application Programming Interface,JAVA的类库。
5.JAVA平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机器码,由平台上的Java虚拟机中的Java解释器解释执行。
6.JAVA有哪两种程序形式: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第二章JAVA语言基础13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JAVA中已定义的用于特定用途的标识符。
不能。
14.i++与++i有什么区别?15.写出各种转义字符?p17。
\t, \n, \r, \”, \’, \\16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package– 名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用”-“;Variable—第一个字母小写,不用”_”,”$”(对于inner class有意义);Constants—大写并用”_”17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。
JAVA考试复习题1(附答案)
![JAVA考试复习题1(附答案)](https://img.taocdn.com/s3/m/e46d98a2284ac850ad0242a8.png)
《现代程序设计》(JAVA)考试复习题一、选择题1、关于Java语言叙述错误的是:(C)A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:(B)A.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型叙述正确的是:(B)A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样4、设int x=1,float y=2,则表达式x / y的值是:(D)A.0 B.1 C.2 D.以上都不是5、以下语句有语法错的是:(A)A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++);C.while (x>5); D.for(; ;);6、关于类和对象的叙述正确的是:(A )A.Java的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的是:(A)A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:(D)A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、void 的含义:(C )A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算10、关于Java中异常的叙述正确的是:(D )A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的11、所有的异常类皆继承哪一个类?(C)A.java.io.Exception B.ng.ThrowableC.ng.Exception D.ng.Error12、下面哪个不是java语言中的关键字?(B)A.long B.sizeof C.instanceof D.const13、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。
JAVA类与对象及数组习题及答案
![JAVA类与对象及数组习题及答案](https://img.taocdn.com/s3/m/9ffd5f280a1c59eef8c75fbfc77da26924c5964d.png)
JAVA 类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是(D )——原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。
A.按照一般方法调用B。
由用户直接调用ﻫC.只能通过new 自动调用D。
被系统调用(2)在Java 中,能实现多重继承效果的方式是( C )——原因:一个类可以同时实现多个接口。
Java 接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。
◻A。
内部类B.适配器 C.接口D.同步(3)int 型public 成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java 中定义常量用关键字final 来定义.A.public int MAX_LENGTH=100 B。
finalintMAX_LENGTH=100 ﻫC.public const int MAX_LENGTH=100D.p ublic final int MAX_LENGTH=100(4)下列叙述中,正确的是( A)—原因:Java 严格区分大小写,所以变量number 与Number 不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*---——--*/"和文档注释/**-—---- */。
Java 源文件中的public 类只能有一个。
◻A.声明变量时必须指定一个类型ﻫ B. Java认为变量number 与Number 相同ﻫC. Java中唯一的注释方式是"//"ﻫD。
源文件中public类可以有0 或多个(5)下列叙述中,错误的是(D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。
所以可以认为子类是父类的扩展。
◻A。
父类不能替代子类B.子类能够替代父类ﻫC。
子类继承父类D.父类包含子类(6)下列代码中,将引起编译错误的行是(B)—原因:定义float 型变量并对其初始化时,其值后面要加一个f。
java习题集及答案
![java习题集及答案](https://img.taocdn.com/s3/m/c717e4565a8102d276a22fd3.png)
JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和( B )特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译Java程序时使用的命令是(B)。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为(C)。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为(B)。
(A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为(D)。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为(C)。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,(B)不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类(A)。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字(C)与异常处理无关。
|A. throwB. throwsC. importD. finally10.在读字节文件时,使用该文件作为参数的类是(D)。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为应用程序接口2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
Java语言与面向对象技术复习资料
![Java语言与面向对象技术复习资料](https://img.taocdn.com/s3/m/979b966b30b765ce0508763231126edb6f1a76cd.png)
Java语⾔与⾯向对象技术复习资料⼀、单项选择题。
1、下列哪个是Java应⽤程序主类中正确的main⽅法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。
B.a[1]的值是1。
C.a[0]的值是0。
D.a[a.length-1]的值等于a[2]的值。
4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.’苹’+’果’的结果是char型数据。
D.(short)10+’a’的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造⽅法。
B.Hello类的int Hello()⽅法是错误的⽅法。
C.Hello类没有构造⽅法。
D.Hello⽆法通过编译,因为其中的hello⽅法的⽅法头是错误的(没有类型)。
class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。
B.⽅法的参数的名字可以和⽅法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?()A.⼦类继承⽗类的构造⽅法B.abstract类的⼦类必须是⾮abstract类C.⼦类继承的⽅法只能操作⼦类继承和隐藏的成员变量D.⼦类重写或新增的⽅法也能直接操作被⼦类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(⽆法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放⼊程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. ⼀个类最多可以实现两个接⼝B. 如果⼀个抽象类实现某个接⼝,那么它必须要重写接⼝中的全部⽅法C. 如果⼀个⾮抽象类实现某个接⼝,那么它可以只重写接⼝中的部分⽅法D. 允许接⼝中只有⼀个抽象⽅法⼆、程序填空题。
java复习题(有答案)
![java复习题(有答案)](https://img.taocdn.com/s3/m/8e762c076d175f0e7cd184254b35eefdc9d31540.png)
1、对象“学生”与对象“班级”的关系(1)继承关系(2)包含关系(3)关联关系(4)派生关系2、Sun公司对Java语言的宣传口号为“一次编程,到处执行”,体现了Java 的什么特性(1)编程的简单性(2)与平台无关性(3)Java的面向对象特性(4)Java程序的鲁棒性3、Java语言中的int及char数据类型的长度分别为(1)16位和8 位(2)8位和16位(3)32位和16位(4)32位和8位4、java语言是由那家计算机公司发布的(1)Microsoft 公司(2)IBM 公司(3)NEC 公司(4)Sun 公司5、java语言是在哪一年正式向计算机界发布的(1)1985年(2)1995年(3)1997年(4)1990年6、java语言在语言的类型上应属于那种类型的语言(1)编译型的语言(2)解释型的语言(3)脚本型的解释语言(4)编译链接型的语言7、java语言在编程方法上及语言的语法规则上与下面的哪种编程语言最接近?(1)C 语言(2)C++语言8、java语言的源程序经编译后所生成的程序类型为(1).exe 型的可执行程序(2).obj型二进制的程序(3).lib 型二进制的库程序(4).class 型类代码的程序9、在MicroSoft Windows操作系统应用平台下,下列那种程序是java程序的解释器(1)Windows系统的资源管理器(2)Windows操作系统本身(3)Windows操作系统应用平台下的IE浏览器(4)Windows操作系统应用平台下的记事本notepad程序10、某java程序的类定义如下:public class MyClass extends BaseClass{ }则该java源文件在存盘时的源文件名应为如下那一种(1)myclass.java(2)MyClass.java(3)MYCLASS.java(4)MyClass.java 11、下列那种注释方式在java程序中是错误的(1)/* 注释文字串*/ (2)// 注释文字串(3)/** 注释文字串*/ (4)Rem 注释文字串12、下列那种标识符在java程序中是错误的(1)MyClass_Base12 (2)_MyClass$Base12(3)$MyClass_12 (4)76MyClass$1213、下列那种标识符不能作为java程序中的变量名14、下列那种java语言的数据类型是其基本的数据类型(1)byte 数据类型(2)数组数据类型(3)类的数据类型(4)接口数据类型15、下列那种java语言的数据类型是其复合的数据类型(1)int 数据类型(2)数组数据类型(3)float数据类型(4)char 数据类型16、下列各种符号的定义格式,哪种在java语言中是正确的常量定义(1)const int SUM=1; (2)#define SUM 1(3)final int SUM =1;(4)int SUM=1;17、下列各种符号的定义格式,哪种在java语言中是错误的变量定义(1)int myV al =1; (2)char $myV al =1;(3)byte _myV al =1; (4)float 3.14myV al=1;18、下列各种符号的定义格式,哪种在java语言中是正确的布尔性(boolean)的变量定义(1)boolean myBOOL =1;(2)boolean myBOOL =0;(3)boolean myBOOL =true;(4)boolean myBOOL =null;19、下列各种java中的赋值操作语句,哪种在java语言中是错误的赋值语句(3)int A =1;float B=A; (4)int A=1;long B=A;20、设int X=1,则“X = = 1”表达式之值为(1)1 (2)false (3)true (4)null21、下列各种java中的条件语句,哪种在java语言中是错误的条件格式(1)if (A >= B) (2)if( A = = B)(3)if( A = B)(4)if((A >B) = =true)22、下列各种java中的语句,哪种在java语言中是错误的语句(1)break stop; (2)continue goon;(3)goto goon; (4)if(A >B ){A=1;}23、下列各种java中的函数的定义,哪种在java语言中是正确的(1)void myFun(int X=1){ } (2)void myFun(int & X){}(3)void myFun(int X ){} (4)void myFun(int * X){ }24、下列各种java中的函数在调用时,哪种实现的是传值拷贝调用(1) void myFun( int X){ }(2) void myFun( Frame Obj){ }(3) void myFun(Point P){ } (4) void myFun(Rectangle R){} 25、下列各种java中的函数在调用时,那种实现的是引用数据调用(1) void myFun( char X){} (2) void myFun( byte X){} (3) void myFun( Circle X){} (4) void myFun( float X){} 26、下列各种java的字符串操作,那种是错误的(3)"ABCD".concat("EFGH");(4)String ABCD="EFGH" ; 27、下列各种java中的构造函数定义,那种形式是错误的构造函数定义(1) class MyClass{ public MyClass(){ } }(2) class MyClass{ public MyClass(int X){ } }(3) class MyClass{ public int MyClass(){ } }(4) class MyClass{public MyClass(int x, int y){ } } 28、借助于java的面向对象的编程特性中的封装机制,可以实现对问题进行如下什么方式的处理(1)将问题的特征属性与问题的功能方法相组合在一起形成一个类。
Java学习(二).习题
![Java学习(二).习题](https://img.taocdn.com/s3/m/4c4b42fb0875f46527d3240c844769eae009a3a7.png)
类和对象.习题1、基本概念题:1.什么叫类?什么叫对象?类是相似对象中共同属性和方法的集合体。
对象是类的实例。
2.对象怎样得到内存空间的?垃圾对象怎样回收的?对象的内存空间是在用户需要时,用new运算符创建的。
对象也有作用范围,我们把超出作用范围的对象(或称不再被使用的对象)称作垃圾对象。
在Java中,收集和释放内存是一个叫做自动垃圾回收线程的责任。
自动垃圾回收线程在系统空闲时自动运行,这个线程监视用户程序中所有对象的有效作用范围,当某个对象超出其作用范围时,该线程就对这样的对象做上垃圾对象标识,并在适当的时候一次性回收这些垃圾对象。
3.什么叫引用类型?对象是引用类型吗?所谓引用类型,是指该类型的标识符表示的是一片内存连续地址的首地址。
对象和数组一样,也是引用类型。
即对象定义后,系统将给对象标识符分配一个内存单元,用于存放实际对象在内存中的存放位置。
4.类的修饰符共有几种?分别是什么?类声明的<修饰符>分为访问控制符和类型说明符两部分,分别用来说明该类的访问权限以及该类是否为抽象类或最终类。
访问控制符:private、public和protected类型说明符:abstract和final5.共有几种形式的变量?这些变量各自的用途是什么?变量可分为:static:指明该成员变量是一个类成员变量final:指明该成员变量是常量transient:指明该成员变量是临时变量。
transient很少使用。
6.成员变量和成员方法的修饰符共有几种?各自的访问权限是什么?有private、public和protected三种private:修饰符表示该成员变量只能被该类本身访问,任何其他类都不能访问该成员变量。
protected:修饰符表示该成员变量除可以被该类本身和同一个包的类访问外,还可以被它的子类(包括同一个包中的子类和不同包中的子类)访问。
public:修饰符表示该成员变量可以被所有类访问。
JAVA各章习题及答案 -
![JAVA各章习题及答案 -](https://img.taocdn.com/s3/m/4b9c42158762caaedd33d4ad.png)
第1章Java入门一、选择题1.下列选项中,不属于Java语言特点的一项是(C )。
(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。
在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件扩展名是( D )(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Applet应用程序时,需要用户考虑问题是(B )。
(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于(B )种语言(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。
6.下列关于Application和Applet程序的说法中不正确的一项是( B )。
(A)Application使用解释器(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
java期末复习题库及答案
![java期末复习题库及答案](https://img.taocdn.com/s3/m/1666a710c950ad02de80d4d8d15abe23492f0370.png)
java期末复习题库及答案Java期末复习题库及答案一、选择题1. Java是一种()。
A. 编译型语言B. 解释型语言C. 标记语言D. 汇编语言答案:B2. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. ArrayList答案:C3. 以下哪个是Java的关键字?A. ObjectB. ClassC. publicD. String答案:C4. Java中的main方法必须声明为()。
A. public static voidB. private static voidC. public static intD. protected static void答案:A5. 以下哪个是Java的访问控制修饰符?A. privateB. staticC. abstractD. final答案:A二、填空题6. Java语言的跨平台特性是通过______实现的。
答案:JVM(Java虚拟机)7. 在Java中,一个类可以有多个构造方法,只要它们的______不同。
答案:参数列表8. 接口(interface)在Java中不能包含______。
答案:实现9. Java中,final关键字可以用来修饰类、方法和变量,表示它们是______。
答案:不可变的10. 异常处理是通过try、catch和______块来实现的。
答案:finally三、简答题11. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是指Java运行时环境自动释放不再使用的对象所占用的内存。
当一个对象没有任何引用指向它时,它就成为了垃圾回收的候选对象。
垃圾回收器会在适当的时候自动执行回收操作,释放内存资源。
12. 描述Java中多态的概念及其实现方式。
答案:多态是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态主要通过继承和接口实现。
java类和对象编程练习题.doc
![java类和对象编程练习题.doc](https://img.taocdn.com/s3/m/5cb90c9b25c52cc58ad6beb2.png)
java类和对象编程练习题猜数字游戏:一个类A有一个成员变量v,有一个初值 100o定义一个类,对A类的成员变量v进行猜。
如果大了则提示大了,小了则提示小了。
等于则提示猜测成功。
02.类的成员变量:请定义一个交通工具的类,其中有:属性:速度,体积等等方法:移动),设置速度),加速speedUp,减速speedDown等等. 最后在测试类Vehicle中的main中实例化一个交通工具对象,并通过方法给它初始化speed, size 的值,并且通过打印出来。
另外,调用加速,减速的方法对速度进行改变。
03.类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。
那么,我们可以自己实现一个时间类,来满足程序中的需要。
定义名为My Time的类,其中应有三个整型成员:时, 分,秒,为了保证数据的安全性,这三个成员变量应声明为私有。
为MyTime类定义构造方法,以方便创建对象时初始化成员变量。
再定义diaplay方法,用于将时间信息打印出来。
为MyTime 类添加以下方法:addSecond addMinute addHour subSecond subMinute subHour分别对时、分、秒进行加减运算。
04.构造方法编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员nl 和n2,应声明为私有。
编写构造方法,赋予nl和n2初始值, 再为该类定义加、减、乘、除等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。
在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
05.构造方法:编写Java程序,用于显示人的姓名和年龄。
定义一个人类,该类中应该有两个私有属性,姓名和年龄。
定义构造方法,用来初始化数据成员。
再定义显示方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
06. get方法和set方法定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX和setXXX方法提示:假设有private String name:则有public void setName( this, name - name: } publicString getName( return this, name: }07.构造方法与重载为“无名的粉"写一个类:class WuMingFen要求:1.有三个属性:面码:String theMa 粉的分量:int quantity 是否带汤:boolean likeSoup2.写一个构造方法,以便于简化初始化过程,如:WuMingFen fl - new WuMingFen:.重载构造方法,使得初始化过程可以多样化:WuMingFen f- new WuMingFen;4.如何使得下列语句构造出来的粉对象是酸辣面码、 2两、带汤的? WuMingFen f- new WuMingFen:5.写一个普通方法:check,用于查看粉是否符合要求。
java练习题库
![java练习题库](https://img.taocdn.com/s3/m/04c269416ad97f192279168884868762cbaebb77.png)
Java练习题库一、基础知识篇1.1 变量与数据类型1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型变量并初始化为3.14。
3. 创建一个字符变量并赋值为'A'。
4. 使用字符串类型声明并初始化一个变量,内容为"Hello World"。
1.2 运算符5. 计算5 + 3 2的值。
6. 判断下列表达式的结果:10 > 5 && 8 < 6。
7. 编写一个程序,实现两个整数的交换。
8. 使用三元运算符判断一个数是奇数还是偶数。
1.3 控制结构9. 编写一个for循环,输出1到10的整数。
10. 使用while循环计算1到100的和。
11. 根据分数判断学生等级(优秀、良好、及格、不及格)。
12. 编写一个switch语句,根据月份输出对应的天数。
二、面向对象篇2.1 类与对象13. 创建一个名为Person的类,包含姓名和年龄属性。
14. 为Person类添加一个方法,用于打印个人信息。
15. 编写一个构造方法,为Person类初始化姓名和年龄。
16. 创建一个Student类,继承自Person类,并添加一个成绩属性。
2.2 封装、继承与多态17. 将Person类的姓名和年龄属性设置为私有,并提供对应的get和set方法。
18. 在Student类中重写toString方法,输出学生信息。
19. 定义一个接口Animal,包含一个方法eat()。
20. 创建两个类Cat和Dog,实现Animal接口,并分别实现eat()方法。
2.3 异常处理21. 编写一个程序,捕获并处理数组越界异常。
22. 创建一个自定义异常类MyException,并在适当的时候抛出异常。
23. 使用trycatchfinally结构编写一个读取文件的程序。
三、高级特性篇3.1 集合框架24. 使用ArrayList存储并遍历一组字符串。
25. 创建一个HashMap,存储学生姓名和成绩,并遍历输出。
java复习题单选题及答案
![java复习题单选题及答案](https://img.taocdn.com/s3/m/a79c8225cd1755270722192e453610661ed95ad2.png)
java复习题单选题及答案1.方法定义和常量值的集合是( )(A).单元(B). 接口(C).成员(D).变量2.下列不属于条件控制语句的是( )(A).for语句(B).if语句(C).if....else语句(D).if语句的扩充形式3.下列说法正确的是( )(A).不需定义类,就能创建对象(B).属性可以是简单变量,也可以是一个对象(C).属性必须是简单变量(D).对象中必有属性和方法4.下面这行代码String [][]s=new String[10][]; 的正确陈述是( )(A).该行代码非法(B).s 是一10行10列的数组(C).s 是一包含10个一维数组的二维数组(D).s中每个元素设为""5.下面不是面向对象技术特点的是( )(A).模块化(B).封装(C).继承性(D).多态性6.下面概念中,不属于面向对象方法的是__ ___.(A).对象(B).继承(C).类(D).过程调用7.下面不是合法Java标识符的是( )(A).ab (B).$3 (C).3ab (D).ab38.接口中的方法被默认是什么的( )(A).private (B).public (C).protected (D).package9.Java语言的编译器命令是( )(A).javac (B).java (C).javaw (D).jar10.下面的不是Java语言特点的是( )(A).动态性(B).面向对象(C).编辑型(D).多线程11.关于实例方法和类方法的区别,下列描述正确的是( )(A).实例方法是不用创建类的实例就可以直接调用(B).类方法是通过static关键字声明的方法(C).实例方法属于类(D).类方法是通过new以后才能调用的方法12.如果只运行别人的Java程序,需要安装的是( )(A).WORD (B).JRE (C).JDK (D).JVM13.使用哪个关键字来定义一个接口( )(A).implements (B).class (C).extends (D).interface14.不是Java关键字的是( )(A).class (B).byte (C).goto (D).import15.一个类中的方法可以被( )(A).左右转换(B).相互调用(C).禁止混合(D).以上全不对16. main()需要一个参数,它是( )(A).一个整型量(B).一个String对象(C).一个实型量(D).一个任意类的对象17.下列不是重载方法的特征的是( )(A).参数个数不同(B).参数名相同而类型不同(C).参数类型不同(D).参数名相同且类型相同18.在Java中,名字必须与它所在的类的名字相同,而且不返回任何数据类型的方法是( )(A).构造方法(B).类方法(C).实例方法(D).重载方法19.不是修饰符的是( )(A).public (B).private (C).protected (D).class/doc/9417713026.html,ng包中的类,该类的实例用来封装对象运行时的状态的是( )(A).Class (B).Object (C).Math (D).Date21.组成java程序的基本要素是( )(A).源代码(B).软件(C).类(D).指令代码22.计算机只能识别执行的指令是( )(A).程序指令(B).代码指令(C).机器指令(D).源文件23.在编写异常处理的Java程序中,每个catch语句块都应该与___ __语句块对应,使得用该语句块来启动Java的异常处理机制.(A).if-else (B).switch (C).try (D).throw24.下面关于继承的描述正确的是__ ___.(A).在Java中只允许单一继承(B).在Java中一个类只能实现一个接口(C).在Java中一个类不能同时继承一个类和实现一个接口(D).Java的单一继承使代码不可靠25.实例可以操作类的( )(A).成员变量(B).成员方法(C).A、B全是(D).A、B全不是26.下列____是异常的含义.(A).程序的语法错(B).程序编译或运行中所发生的异常事件(C).程序预定义好的异常事件(D).程序编译错误27.Java语言有多种实现机制,下列_____技术属于垃圾回收机制.(A).字节编译(B).内存跟踪(C).语法检查(D).堆栈上/下溢检查28.定义一个名为key的类,使之不能被继承,应选(D)(A).class key{} (B).native class key{} (C).class key{ final;}(D).final class key{}29.final关键字不能修饰的参数是( )(A).类(B).成员(C).变量(D).方法30.写类的目的是为了描述一类事物共有的( )(A).属性(B).数量(C).范围(D).源文件31.Java源文件扩展名是( )(A)..class (B)..java (C)..jav (D)..cla32.Java中,一个类可以有父类的个数是( )(A).1 (B).2 (C).3 (D).433类中不加任何访问权限限定的成员属于( )(A).default (B).public (C).private (D).protected34.属于main()方法的返回类型是__ ___.(A).public (B).static (C).void (D).main35.接口体中不应包含( )(A).常量定义(B).常量赋值(C).方法实现(D).方法声明36.在try-catch-finally 结构中,哪个说法不正确( )(A).可以存在多个catch 语句块,表示可以捕捉多种异常(B).不能同时没有catch 语句块和finally 语句块(C).结构整体可以当作一条语句,从而可以嵌套在其他try-catch-finally 结构中(D).在try-catch-finally 结构中,不发生异常,finally 语句块不会执行37在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上_ ___语句.(A).import java.awt.*; (B).import applet.Applet;(C).import java.io.*; (D).import java.awt.Graphics;38.当方法被调用时如果方法有参数,参数必须要( )(A).实例化(B).解析化(C).传递(D).释放39.处理日期的类在Java的哪个包中( )(A).java.util (B).java.io(C)/doc/9417713026.html,ng(D)/doc/9417713026.html,39.Java 异常处理涉及的关键字,以下哪个不是( )(A).try (B).final (C).catch (D).throws40.每个Java小应用程序必须定义为___ ___.(A).Applet类或JApplet类的子类(B).JFrame类的子类(C).Frame的子类(D).Windows的子类41.在方法内部使用,代表对当前对象自身引用的关键字是__ ____.(A).super (B).This (C).Super (D).this42.在Java中,由Java编译器自动导入,而无需在程序中用import 导入的包是___ ___.(A).java.applet (B).java.awt (C).java.util(D)/doc/9417713026.html,ng43.有以下方法的定义,请选择该方法的返回类型__ ___.ReturnType method(byte x, float y){ return (short)x/y*2; }(A).byte (B).short (C).int (D).float44.默认情况下,所有类能访问所有成员,除了( )(A).用final关键字定义(B).用abstract定义的(C).在另一个包中定义的(D).在同一个包中定义的45.在Java中下列关于继承的论述中,错误的是( )(A).继承具有传递性(B).继承关系也称为"即是"(is a)关系(C).支持多继承(D).继承提高了系统的可重用性46.Java语言使用的字符集是( )(A).ASCII (B).EBCDIC (C).Unicode (D).BCD47.下面定义形式中,哪一个是非法的( )(A).class A{int a,b;…}(B).clas s A{int i,j; i=j=10…}(C).class A{int i; float f;…} (D).class A{int i=12; float f1=1.2f;…}48.下列关于Java Application与Java Applet程序的差别描述正确的是__ ____.(A).运行方式不同,程序结构相同,运行工具不同,受到的限制相同(B).运行方式相同,程序结构不同,运行工具不同,受到的限制相同(C).运行方式相同,程序结构相同,运行工具不同,受到的限制也不同(D).运行方式不同,程序结构不同,运行工具不同,受到的限制也不同49.Java中管理类的一个机制是( )(A).包(B).语言(C).模块(D).变量50.下列不对的是( )(A).一个实例方法可以同时为protected和abstract (B).static变量也可为final的(C).static方法可以是protected (D).final方法可以是abstract的51.继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码_ _____.(A).可读性好(B).可重用(C).可跨包访问(D).运行更安全52.抽象类和接口的共同点是( )(A).代表系统的抽象层(B).都不能被实例化(C).都包含抽象方法(D).53.关于super,下面说法中错误的是( )(A).用来访问父类被隐藏的的成员变量(B).用于调用父类中被重写的方法(C).用于定义父类(D).用于调用父类的构造函数54.构造方法是一种特殊方法,它的名字必须与__ ___相同,而且不返回任何数据类型.(A).类名(B).对象名(C).包名(D).变量名55.常量定义的修饰符为( )(A).final (B).finally (C).const (D).define56.在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用关键字( )(A).super (B).import (C).this (D).return57.对于异常处理,以下说法哪个正确( )(A).在运行时一旦发现运行时异常,不会中断并退出程序(B).受检异常在编译时不会被检测到(C).受检异常程序必须处理(D).运行时异常在编译时会被检测到58.Java源文件经编译产生的文件称为( )(A)..obj文件(B)..exe文件(C)..java文件(D).字节码文件59.下面定义main()方法有效的是( )(A).public static void main(String args[]){} (B).public main(String[])(C).public void main() (D).public void main(args[]){}60.下列不是构造方法特征的是( )(A).名字与类相同(B).是无参数的(C).是void型(D).是一种特殊方法61.关于main()方法说法正确的是( )(A).一个类中可以没有main() (B).所有对象都必须放在main()方法中(C).main()必须放在公共类中(D).main()方法头的定义可以根据情62.保证Java语言可移植性的特征是__ __.(A).面向对象(B).安全性(C).分布式计算(D).可跨平台63.异常处理流程中,以下哪个代码块用来捕获并处理异常( )(A).try (B).catch (C).finally (D).都不是64.接口中的方法默认的访问控制方式是( )(A).public (B).private (C).protected (D).default65.Java异常的处理时,抛出异常可以利用什么语句( )(A).throw (B).try (C).catch (D).throws。
2024年java自学考试考前知识点复习
![2024年java自学考试考前知识点复习](https://img.taocdn.com/s3/m/11221f3e03020740be1e650e52ea551810a6c96e.png)
一、Java基础知识1. Java语言的特点及优势2.JDK、JRE、JVM的概念及其作用3. Java的数据类型、变量和常量4.表达式、运算符和控制流程语句5.数组和字符串的使用6.面向对象的程序设计思想7.类、对象、方法和构造器的定义与使用8.封装、继承和多态的概念和应用9.抽象类和接口的定义及其使用场景二、Java核心类库1. Java集合框架和常用集合类的使用2.输入输出流的概念和应用3.异常处理机制及其编写规范4.文件操作和序列化的基本原理和使用5.多线程的概念和线程的创建与管理6.网络编程的基础知识和常用类的使用7. Java反射机制及动态代理的原理和应用8.注解的定义及其常见的内置注解三、Java高级特性1.泛型的概念和应用2. Java 8的新特性(Lambda表达式、Stream API等)3. Java 9、10、11的新特性(模块化系统、局部变量类型推断等)4.设计模式的基本原则和常见设计模式的应用5.集合框架的并发访问控制和线程安全性6.JVM的垃圾回收机制和性能优化策略7.国际化和本地化的概念和应用8. Java与数据库的交互和常见数据库操作四、Web开发相关技术1. Servlet的概念、生命周期和开发基础2.JSP的基础语法和内置对象的使用3. MVC架构的理解和Web应用的开发流程4. Servlet和JSP的整合开发和常见问题解决5. Session和Cookie的概念和使用6. JavaWeb开发中的过滤器和监听器8. JavaWeb开发中的权限控制和安全性五、其他相关知识1.XML的基础概念和语法规范2.JSON的基本结构、解析与生成3.HTTP协议的基本原理和请求响应过程4. RESTful风格的接口设计和开发5. 前端开发基础知识(HTML、CSS、Javascript)6.单元测试和集成测试的概念和使用7. Maven的基本使用和项目构建流程8. 版本控制工具Git的基本使用和常见操作以上是2024年Java自学考试的考前知识点复习内容,希望对你能有所帮助。
计算机二级java复习题库
![计算机二级java复习题库](https://img.taocdn.com/s3/m/6080b1255bcfa1c7aa00b52acfc789eb162d9e78.png)
计算机二级java复习题库在准备计算机二级Java考试时,考生需要对Java语言的基础概念、语法、面向对象编程、异常处理、集合框架、多线程以及输入输出流等有深入的理解和掌握。
以下是一些复习题,可以帮助考生检验自己的学习效果。
1. Java基础概念- 简述Java语言的特点。
- 描述Java虚拟机(JVM)的作用。
- 说明Java中的“一次编译,到处运行”是如何实现的。
2. Java数据类型和运算符- 列举Java的基本数据类型,并说明它们在内存中的存储大小。
- 描述Java中的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符。
3. 控制语句- 说明if-else语句和switch-case语句的区别。
- 描述循环语句for、while和do-while的用法和区别。
4. 数组和字符串- 阐述Java中数组的声明、初始化和访问方式。
- 描述字符串的不可变性及其对性能的影响。
5. 面向对象编程- 简述面向对象编程的三大特性:封装、继承和多态。
- 描述Java中类和对象的关系,以及如何创建和使用对象。
6. 类和接口- 说明Java中类和对象的基本概念。
- 描述接口的作用及其与抽象类的区别。
7. 异常处理- 描述Java中异常的分类和处理机制。
- 说明如何使用try-catch-finally语句块处理异常。
8. 集合框架- 简述Java集合框架的组成,包括List、Set、Map等。
- 描述ArrayList、LinkedList、HashSet、TreeSet和HashMap的实现原理和使用场景。
9. 多线程- 描述Java中线程的创建方式和生命周期。
- 说明线程同步和死锁的概念及其解决方法。
10. 输入输出流- 描述Java中字节流和字符流的区别。
- 说明如何使用FileInputStream、FileOutputStream、BufferedReader和BufferedWriter等类进行文件操作。
JAVA复习资料(习题版)(带参考答案)
![JAVA复习资料(习题版)(带参考答案)](https://img.taocdn.com/s3/m/4ac67b285727a5e9856a61a4.png)
4、Java 不支持多重继承,但我们可以通过( B )实现
A) 多态
B) 接口
C) 覆盖
D) 抽象类
5、已知表达式 int[] m = {0, 1, 2, 3, 4, 5, 6 };下面 B 哪个表达式的值与数组元素个数相等( B )
A) m.length() B) m.length
C) m.length()+1 D) m.length+1
A) public
B) private
C) static
D) protected
15、执行完代码 int[ ] x = new int[25]; 后,以下哪项说明是正确的( A )
A) x[24]为 0
B) x[24]未定义
C) x[25]为 0
D) x[0]为空
16、类 Text 定义如下: 2
public class Test {
A) long
B) sizeof
C) instanceof
D) const
29、关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是( C ) 4
A) 可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B) 可以被两种类访问和引用:该类本身、该类的所有子类
6、所有的异常类皆继承哪一个类(B )
A) java.io.Exception
B) ng.Throwable
C) ng.Exception
D) ng.Error
7、关于布尔类型说法正确的是( A ) A) boolean 表示布尔类型,它的取值只有 true 和 false B) bool 表示布尔类型,它的取值只有 true 和 false C) boolean 表示布尔类型,它的取值只有 1 和 0 D) bool 表示布尔类型,它的取值只有 1 和 0
java面向对象试题及答案
![java面向对象试题及答案](https://img.taocdn.com/s3/m/0b0ffc3a49d7c1c708a1284ac850ad02de800796.png)
java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。
面向对象编程的三大特性是封装、继承和多态。
- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。
- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。
例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。
- 多态:多态允许同一个接口接受不同的数据类型。
在Java中,可以通过重写父类的方法来实现多态。
例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。
2. 解释Java中的接口和抽象类的区别。
接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JA V A类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是( D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。
A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)在Java中,能实现多重继承效果的方式是( C )--原因:一个类可以同时实现多个接口。
Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。
A.内部类B.适配器C.接口D.同步(3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。
A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。
Java源文件中的public类只能有一个。
A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。
所以可以认为子类是父类的扩展。
A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(6)下列代码中,将引起编译错误的行是( B )—原因:定义float型变量并对其初始化时,其值后面要加一个f.1)public class Exercise{2)public static void main(String args[]){3)float f=0.0;4) f +=1.0;5)}6)}A. 第2行B. 第3行C. 第4行D. 第6行(7)下列关于继承的哪项叙述是正确的?( D ) –错误原因:JAVA不允许多重继承,但可以通过接口的机制来达到多重继承的目的;一个类可以同时继承一个类和实现多个接口,但是不能同时继承多个类。
(15)为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
--原因:static修饰的方法又称为静态方法。
静态方法是类方法,它可以直接通过类来调用,也可以通过类实例来调用。
A.static void method( ) B. public void method( )C.final void method( ) D. abstract void method(16) 不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( D )--原因:A子类实例方法可以直接调用父类的public和protected实例方法,但不能调用父类的private方法。
B类方法也称为静态方法,非静态的方法不能调用静态的方法和成员变量,所以无论是父类还是子类的实例方法都不能调用静态方法。
C一个类的实例方法只有这个类的其它方法或对象可以调用,不可以由其它类不经过实例化直接调用。
A.实例方法可以直接调用父类的实例方法。
B.实例方法可以直接调用父类的类方法。
C.实例方法可以直接调用其他类的实例方法。
D.实例方法可以直接调用本类的实例方法(17)设有下面的一个类定义:class AA { static void Show( ) { System.out.println(“我喜欢Java!”); } }class BB { void Show( ) { System.out.println(“我喜欢C++!”); }}若已经使用AA类创建对象a和BB类创建对象b,则下面( A、C )方法调用是正确的–原因:静态方法属于类方法,它可以直接通过类来调用,也可以通过类实例来调用。
而非静态的方法则只能通过类实例(对象)来调用。
所以AA类的静态show方法即可通过类也可以通过对象来调用,而BB类中的非静态方法show则只能通过对象b来调用。
A. a.Show( ) ; b.Show( )B. AA.Show( ); BB.Show( );C. AA.Show( ); b.Show( );D. a.Show( ); BB.Show( );(18) 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为( C )。
–原因:同一名称的方法实现不同的功能是面向对象的多态性的表现,该多态性也称为重载。
A.隐藏B.覆盖C.重载D.Java不支持此特性(19) 对于构造函数,下列叙述不正确的是( C )。
–原因:子类可以通过super来调用父类的构造方法。
A.构造函数也允许重载。
B.子类无条件地继承父类的无参构造函数。
C.子类不允许调用父类的构造函数。
D.在同一个类中定义的重载构造函数可以相互调用。
(20) 对于子类的构造函数说明,下列叙述中不正确的是( D )。
--原因:子类不可以继承父类的有参构造函数。
只能通过super调用。
A.子类无条件地继承父类的无参构造函数。
B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
二、请写出下列程序的运行结果(1)下列程序的运行结果是( s=120 ) —分析:if语句执行3次,分别是当i=0,3,6时,对应的数组中的数分别为:10,40,70,它们的和为120.public class Examac{ public static void main(String args[ ]){ int i , s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( i%3 == 0 ) s += a[i] ;System.out.println("s="+s); } }(2)下列程序的运行结果是( 110 110 110 110 110 )—分析:for循环执行5次,分别输出11+99,22+88,33+77, 44+66, 55+55的和,且之间用空格隔开。
public class Examad{ public static void main(String args[ ]){ int i ;int a[ ] = { 11,22,33,44,55,66,77,88,99 };for ( i = 0 ; i <= a.length / 2 ; i ++ )System.out.print( a[i]+a[a.length-i-1]+" ");System.out.println( ); } }(3)下列程序的运行结果是( parentchildchild)—分析:当对象myC调用方法printAll()后,顺序执行该方法中的三条语句,在子类Child中,重载了父类的printMe方法,所在当执行this.printMe() 和printMe()方法时都调用重载后的printMe()方法。
所以依次输出parent,child,child.class Parent{ void printMe(){ System.out.println("parent"); } }class Child extends Parent{ void printMe(){ System.out.println("child"); }void printAll(){ super.printMe();this.printMe();printMe(); } }public class Examae{ public static void main(String args[ ]){ Child myC = new Child( );myC.printAll( ); } }(4)下列程序的运行结果是(The String No.1 isThe String No.2 is String 2The String No.3 is stringThe String No.4 is stringThe String No.5 is string )—原因:s1定义了一个空的字符串对象,所以不会输出任何东西。
s2定义了一个字符串对象并赋初值为string2。
s3定义了一个以字符数组为参数的字条串对象,并将该字符数组组成的字符串赋给s3。
s4定义同s3,只是只取字符数组从索引值为2的字符开始之后的6个字符,所以会去掉前面的两个空格。
s5是以一个StringBuffer类对象为参数定义的一个字符串对象,它的初值同s3.class Examaf {public static void main(String args[]) {String s1=new String();String s2=new String("String 2");char chars[]={' ',' ','s','t','r','i','n','g'};String s3=new String(chars);String s4=new String(chars,2,6);byte bytes[]={0,1,2,3,4,5,6,7,8,9};StringBuffer sb=new StringBuffer(s3);String s5=new String(sb);System.out.println("The String No.1 is "+s1);System.out.println("The String No.2 is "+s2);System.out.println("The String No.3 is "+s3);System.out.println("The String No.4 is "+s4);System.out.println("The String No.5 is "+s5); } }(5)下列程序的运行结果是(0 and 01 and 00 and 11 and 10 and 21 and 2)—原因:不带标签的break只结束它所在那一层循环不能结束外部循环,所以内层循环只能执行两次,分别是j为0,1时。