java重载方法的特征
java重载方法的特征
Java的重载方法是指在同一个类中定义了多个方法,它们具有相
同的名称但是不同的参数列表。
重载方法在Java中是一种多态性的体现,它允许我们使用相同的方法名来调用不同的方法。
重载方法具有以下的特征:
1.方法名相同:重载方法的名称必须相同。
2.参数列表不同:重载方法的参数列表必须不同,可以是参数类
型不同、参数个数不同或参数顺序不同。
3.返回类型可以相同也可以不同:重载方法的返回类型可以相同,也可以不同。
唯一的限制是不能仅仅通过返回类型的不同来进行方法
的重载。
4.可以有不同的访问修饰符:重载方法可以有不同的访问修饰符,比如public、private或protected。
5.可以抛出不同的异常:重载方法可以抛出不同的异常,也可以
不抛出异常。
重载方法的使用有以下的优点和特点:
1.提高代码的可读性:通过使用重载方法,可以使用相同的方法
名来表达不同的意义,这使得代码更加直观和易于理解。
2.简化编程:通过使用重载方法,可以避免定义大量类似的方法,从而简化了代码的编写过程。
3.提高代码的可维护性:重载方法使得代码更加模块化,当需要
修改某个功能时,只需要修改对应的方法,而无需修改其他方法,这
提高了代码的可维护性。
4.增加灵活性:通过使用重载方法,可以根据不同的参数类型或
参数个数进行适应性的操作,从而增加了代码的灵活性。
在使用重载方法时,需要注意以下几点:
1.不能仅仅通过返回类型的不同来进行方法的重载,因为Java编
译器无法根据返回类型来确定具体调用哪个方法。
2.当重载方法的参数列表中有继承关系的参数类型时,需要注意
参数类型的匹配规则。
例如,如果有一个重载方法的参数类型为Object,而另一个重载方法的参数类型为String,当调用方法时传入
一个String对象时,编译器会优先选择参数类型为String的方法,
而不会选择参数类型为Object的方法,因为String是Object的子类。
3.在重载方法中,参数个数和参数类型越多,重载方法的区分度
就越高。
如果重载方法的参数个数和类型相同,只有返回类型不同,
则无法进行方法的重载。
4.当重载方法的参数类型为基本数据类型时,需要注意基本数据
类型的自动转换规则。
例如,如果有一个重载方法的参数类型为int,而另一个重载方法的参数类型为long,当调用方法时传入一个int值时,编译器会自动将int值转换为long值,选择参数类型为long的
方法进行调用。
但是如果传入的值比较大,超出了long类型的范围,
则需要手动进行强制类型转换。
总结起来,重载方法是Java中一种非常有用的特性,通过使用相
同的方法名和不同的参数列表,可以实现方法的重载,从而提高了代
码的可读性、简化了编程和增加了代码的灵活性。
在使用重载方法时,需要注意参数列表的不同以及参数类型的匹配规则,以避免出现歧义
和错误。
(仅供参考)java期末考试样卷答案
习题一、选择题1.如下哪个字符串是Java中的合法标识符?( A )A、fieldnameB、superC、3numberD、#number2.Java中main()函数的返回值是什么类型? ( D )A、StringB、intC、charD、void3.下列哪些语句关于Java内存回收的说明是正确的? ( C )A、程序员必须创建一个线程来释放内存B、内存回收程序允许程序员直接释放内存C、内存回收程序负责释放无用内存D、内存回收程序可以在指定的时间释放内存对象4.以下关于继承的叙述正确的是( B )。
A、在Java中一个类只能实现一个接口B、在Java中类只允许单一继承C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承5.Java Applet中的paint()方法使用哪种类型的参数? ( A )A、GraphicsB、Graphics2DC、StringD、Color6.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、privateB、protectedC、private protectedD、public7.下面( B )函数是public void example( ){...}的重载函数?A、public void example( ){...}B、public void example( int m ){...}C、public void example2( ){...}D、public int example ( ){...}8.在浏览器中执行applet 程序,以下选项中的( A )方法将被最先执行。
A、init()B、start()C、destroy()D、stop()9.有程序片段如下,以下表示式的结果为true的是( B )。
Float s=new Float(0.1f);Float t=new Float(0.1f);Double u=new Double(0.1);A、s= =tB、s.equals(t)C、u.equals(s)D、t.equals(u)10.关于异常的含义,下列描述中最正确的一个是(C )。
Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
Java中的⽅法覆盖(Overriding)和⽅法重载(Overloading)是什么意思? ⽅法覆盖也称为重写,重写即⼦类重新定义了⽗类的⽅法。
重写: 1、重写的⽅法必须与原⽅法有相同的⽅法名、参数列表和返回值类型(Java SE5之后返回值类型可以是其类型的⼦类型) 2、被重写的⽅法不能是final类型,因为final类型⽆法重写 3、被重写的⽅法不能是private,因为private⽆法继承,⽽继承是重写的前提 4、被重写的⽅法不能为static,如果⽗类中的⽅法为静态,⽽⼦类的⽅法不是静态的,但是两个⽅法除了这⼀点其他都满⾜重写条件,那么会发⽣编译错误,反之亦然。
如果⼦类和⽗类中的⽅法都是静态的,并且满⾜重写条件,但仍然不会发⽣重写,因为静态⽅法是在编译时把静态⽅法和类的引⽤进⾏匹配。
5、重写的⽅法的访问权限不能⼩于原⽅法 6、重写抛出的异常的范围不能⼤于原⽅法 7、重写是在运⾏是发⽣的,JVM会在代码运⾏时作出决定。
⽅法重载简称重载,重载即同⼀个类中两个或多个⽅法名相同但参数不同的情况重载: 1、⽅法名必须相同 2、参数列表必须不同(参数的个数,类型,顺序不同) 3、⽅法的返回类型可以相同也可以不同 4、仅仅返回值类型不同不⾜以成为⽅法的重载 5、重载是发⽣在编译时的,因为编译器可以根据参数类型来选择使⽤哪个⽅法重写和重载的区别: 1、重写只能⽤于⼦类重写⽗类的⽅法,⽽重载⽤于同⼀类中的所有⽅法 2、重写的参数列表必须相同,重载的参数列表必须不同 3、重写要求返回值类型必须⼀致或是其⼦类,重载没有要求 4、重写对⽅法的访问权限和抛出异常有特殊的要求,⽽⽅法的重载没有这⽅⾯的限制 5、⽗类的⽅法只能被同⼀⼦类重写⼀次,⽽⼀个⽅法可以在所有类中被重载很多次 6、重写是运⾏时的多态,重载是编译时的多态。
谈谈重载(overload)覆盖(override)与隐藏、多态
---------------------------------------------------------------
overload:
public a(){}
public a(int a){]
考虑这样两个类:
class Father {
public void doSomething(){}
public void doSomething(int a){}
public void doSomething(String s, int a){}
}
class Son extends Father {
public void doSomething(String s, int a) {}
public void doSomething(int a, String s){}
}
方法aaa Override
---------------------------------------------------------------
还有,overload一般发生在同一个类中的有着不同的参数名和(或)不同数量的参数的同名方法之间,但同名方法的返回值可以一样
隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了。隐藏与另外两个概念表面上看来很像,很难区分,其实他们的关键区别就是在
多态的实现上。什么叫多态?简单地说就是一个接口,多种实现吧。
覆盖指的是派生类的虚拟函数覆盖了基类的同名且参数相同的函数!
重载(overload):
必须在一个域中,函数名称相同但是函数参数不同,重载的作用就是同一个函数有不同的行为,因此不是在一个域中的函数是无法构成重载的,这个
java题库-选择题
第1、2章(10道)1、CPU指的是(C )。
运算器和CRTCRT和RAMALU和控制器ALU和ROM2、计算机与一般计算装置的本质区别是它具有( D)。
大容量和高速度自动控制功能程序控制功能存储程序和程序控制功能3、在计算机中,数值数据一般采用( B)形式存储。
原码补码反码真值4、十进制数97转换成二进制数为( A)。
011000011100001000110001010101015、Java 2技术中,常用于嵌入式设备及消费类电器(如手机等)上的开发的是( C)。
J2EEJ2SEJ2MEJRE6、适合用来开发系统程序,如编写操作系统及驱动程序的程序设计语言是( D)。
JavaFortranPascalC7、Java源程序是以文本格式存放的,文件扩展名必须为( A)。
.java.class.jar.txt8、Java的平台无关性的实现主要依靠(B )。
JDKJVMJREJAR9、与Java应用程序(Application)不同,Java Applet程序的运行,需要得到( B)的支持。
操作系统客户端浏览器记事本(Notepad)软件数据库服务器10、安装JDK时,不需要配置环境变量(D )。
** JAVA_HOMEpathclasspathOS第三章:(47道)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。
***javaclasshtmlexe2、Java程序的执行过程中用到一套JDK工具,其中java.exe是指(B )。
Java文档生成器Java解释器Java编译器Java类分解器3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点(B )。
安全性**** 多线程跨平台可移植4、Java编程所必须的默认引用包为(B )。
*****java.sys包ng包java.new包5、在Java中,属于浮点数类型变量的是(B )。
java中解析方法和方法的调用关系
1.1 Java语言和方法的概念1.2 方法的解析和调用关系在Java中的重要性二、方法解析2.1 解析方法的定义和声明2.2 方法的重载和重写的解析2.3 方法的访问修饰符和返回值的解析三、方法调用关系3.1 方法的调用和执行过程3.2 方法之间的调用关系3.3 方法的递归调用四、实例分析4.1 实例分析一:调用简单方法4.2 实例分析二:重载和重写方法的调用4.3 实例分析三:递归调用方法5.1 方法解析和调用关系的重要性5.2 提高程序性能的方法解析和调用优化策略5.3 方法解析和调用关系的应用和发展前景在Java语言中,方法是一种封装了一系列执行特定任务的代码的代码块。
在Java编程中,方法的解析和调用关系至关重要。
本文将从方法解析和方法调用关系两个方面展开阐述。
一、介绍1.1 Java语言和方法的概念Java是一种面向对象的编程语言,它支持类和对象的概念。
在Java中,方法是类或对象中的一个行为特征。
方法封装了一组语句,它们在被调用时执行特定任务。
方法定义了一系列的指令,用于完成特定的功能。
在面向对象的编程语言中,方法也被称为函数或子程序。
1.2 方法的解析和调用关系在Java中的重要性方法解析是指解析方法的定义和声明,包括方法的名称、参数列表和方法体。
方法的调用关系是指方法之间的调用关系,包括普通方法的调用、方法的重载和重写、方法的递归调用等。
二、方法解析2.1 解析方法的定义和声明在Java中,方法的定义和声明包括方法的名称、返回值类型、参数列表和方法体。
方法的定义一般包括访问修饰符、返回值类型、方法名、参数列表和方法体。
方法的声明包括方法的名称、参数列表和返回值类型。
例如:```public int add(int a, int b) {return a + b;}```上面的代码中,add方法是一个公共方法,返回值类型是int,有两个参数a和b,方法体中是返回a和b的和。
2.2 方法的重载和重写的解析方法的重载是指在同一个类中,方法名称相同但参数列表不同的情况。
java中的方法重载和覆盖的区别
J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。
如果你的J2EE应用系统的数据库连接是通过JNDI获得,也就是说是从容器中获得,那么你的J2EE应用系统基本与数据库无关,如果你在你的 J2EE 应用系统耦合了数据库JDBC驱动的配置,那么你的J2EE应用系统就有数据库概念色彩,作为一个成熟需要推广的J2EE应用系统,不推荐和具体数据库耦 合,当然这其中如何保证J2EE应用系统运行性能又是体现你的设计水平了。
package com.qiu.util;
import java.io.*;
import .*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
frame.setSize(400,300);
frame.show();
System.out.println("Over");
}
private ScreenCapture() {
try{
robot = new Robot();
}
catch(AWTException e) {
衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能体现可维护 性、可拓展性的软件设计目标。
为了达到这个目的,诞生各种框架概念,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计 上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。
继承、多态,重载、重写的区别与总结
继承、多态,重载、重写的区别与总结李氏原则:(1)父类的引用指向子类对象。
-多态(2)接口的引用指向实现类的实例。
-接口Polo咯,什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承、多态、重载和重写继承(inheritance)简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。
继承是面向对象的三个基本特征--封装、继承、多态的其中之一,我们在使用JAVA 时编写的每一个类都是在继承,因为在JAVA语言中,ng.Object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么JAVA就会默认为它是继承自Object类的。
我们可以把JAVA中的类分为以下三种:类:使用class定义且不含有抽象方法的类。
抽象类:使用abstract class定义的类,它可以含有,也可以不含有抽象方法。
接口:使用interface定义的类。
在这三种类型之间存在下面的继承规律:类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
抽象类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口。
接口只能继承(extends)接口。
请注意上面三条规律中每种继承情况下使用的不同的关键字extends和implements,它们是不可以随意替换的。
大家知道,一个普通类继承一个接口后,必须实现这个接口中定义的所有方法,否则就只能被定义为抽象类。
我在这里之所以没有对implements关键字使用“实现”这种说法是因为从概念上来说它也是表示一种继承关系,而且对于抽象类implements接口的情况下,它并不是一定要实现这个接口定义的任何方法,因此使用继承的说法更为合理一些。
Java的类一些常识
Java的类一些常识“1、请解释Java语言的跨平台特性。
解析:虽然不知道什么是跨平台也可以使用Java语言进行编程,但是对于一个Java编程员来说,理解跨平台特性能够更深入掌握Java语言,所以企业中往往要求应聘者至少理解这个特性。
参考答案:Java的跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。
他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。
之所以能实现跨平台的特性。
主要得益于Java虚拟机(JVM),JVM解释器在运行Java应用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。
“2、请列举JAVA语言的主要特点解析:了解一门语言,往往从熟悉该语言的主要特点开始入手,所以企业也常常通过应聘者对JAVA语言特点的掌握程度而判断其语言基础是否扎实。
参考答案:JAVA语言有很多特点,主要包括:①跨平台性:一个应用可以不经过修改直接运行到不同的平台上。
②面向对象:JAVA语言是一门面向对面的语言,可以使用对象的属性和行为,可以使用面向对象的思想进行分析设计,并实现整个应用。
③解释执行JAVA应用时,JVM中的解释器将解释类文件,生成符合当前平台的字节码。
④自动回收:JAVA 应用中的垃圾回收是自动进行的,JVM中的后台线程将监视内存中数据的使用,当内存中的数据不再被引用时,将被作为垃圾回收,而不需要程序员动手回收。
“3、请说明一个JAVA类中主要包含哪几个元素?并说明每种元素的作用。
解析:无论简单还是复杂的JAVA应用,都是由若干个类组成,所以类是JAVA应用的组成单位。
了解一个类中包含的主要元素能够对类有一个清晰的认识。
一个类中往往会有五种元素,即属性、方法、构造方法、块以及内部类、其实块和内部类比较少见。
参考答案:JAVA类中主要包含属性、方法、构造方法、块以及内部类。
属性用来定义对象的数据;方法用来定义对象的行为;构造方法可以用来创建对象;块能够用来在类加载时执行操作或者在每次实例化前执行通用操作;内部类作为类的一个成员存在,能够访问外部类的属性和方法。
Java程序设计项目式教程 教案 教学设计-单元3 Java面向对象程序设计
(5)创建对象的一般格式。
(6)面向对象程序开发的主要目标就是:用代码模拟现实中的对象,将现实中对象的某些特征、行为能力用代码呈现出来,然后用这些代码来模拟解决现实中的问题。
教师讲解
多媒体课件演示
整理笔记引导创新
同步训练
仿照课堂实例,编写一个手机类,其中属性包括手机品牌、手机型号内存大小等,方法包括显示手机信息,并编写测试类进行对象的创建。
教师讲授
多媒体
布置训练提出要求
教师讲授
多媒体
布置训练任务提出要求
教学过程设计
3.2学生成绩处理(学时数:4)
主要步骤
教学内容
教学方法
教学手段
师生活动
问题引入
学生信息处理中学生的选课情况处理,记录每门课程的成绩,并对学生个人或班级成绩进行一些统计分析方面的处理。
教师讲授引导文法
多媒体
教师:讲解演示学生:观察思考
知识讲解
知识点1:方法的定义;
动手实践做中学
多媒体真实系统环境网络资源
实践操作查阅资料巡视指导
评估讨论
(1)评估讨论实训任务的实施过程;
(2)给出参考的解决方案;
(3)展示讨论学生的解决方案;
(4)考核学生结果。
教师启发讨论归纳分数激励
实训项目单
思考结果演示
课堂总结
(1)方法用于描述对象的行为或活动;
(2)使用构造方法实现对象的初始化;
(3)方法重载是指多个方法具有相同的名
称,但是参数不同;
(3)类成员分为对象成员和类成员两类。
教师讲解
多媒体课件演示
整理笔记引导创新
同步训练
定义一个具有用户名和密码两个属性的管理员类,提供能够显示管理员信息的toString()方法。
Java_笔试选择题6
Java选择题1. 下面的不是Java的特点的是()A. 动态性B. 面向对象C. 编辑型D. 多线型2. Java源文件以为扩展名的是()A. .classB. .javaC. .javD. .cla3. Java源文件经编译产生的文件称为()A. .obj文件B. .exe文件C. .java文件D. 字节码文件4. 字节码文件是与平台无关的什么文件()A. ASCII码B. 二进制码C. BCD码D. Unicode码5. 下面的那一项不是Java application和applet的不同点()B. A. 执行方式不同B. applet中不再需要main()方法C. applet由若干各类构成D. Java applet由Web browser执行6. Java注释方式不包括()C. A. //… B. /* … */ C. /** … **/D. /** … */ C7. 下面不是合法Java标识符的是()D. A. ab B. $_3 C.3ab D. ab3 C8. 下面均为Java关键字的一组是()"A. boolean,byte,long,true " "B. byte, long,true,goto" "C. goto ,Boolean,byte,true" "D. bool, long,true,auto" A9. Java语言使用的字符集是()A. ASCIIB. EBCDICC. UnicodeD. BCD C10. Java的int型变量占内存的字节是()A. 1B. 4C. 2D.与机器有关B11. 下列是合法的实型常量的是()"A. 12.4,12,12.4f,12.4F" "B. 12.0f,2e4f,12.0,6e-4" "C. 6e,12.1,24f,25d" "D. 13.6, 6e0.3,456.7d,e2" B 12. 下列说法正确的是()A. 不需定义类,就能创建对象B. 属性可以是简单变量,也可以是一个对象C. 属性必须是简单变量D. 对象中必有属性和方法 B13. "若有定义int a=2,b=4;boolean x;则执行语句x=a>b;System.out.println(x);的结果为()"B. A. 1 B. 0C. trueD. false D14. "若有定义int x=3,y;则执行语句y=(x++)+(x++)+(x++);后y=()"C. A.9 B.12C. 15D. 18 B15. "若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()"D. A. 12 B. 18 C. 9 D. 15 D16. Java源程序编译后生成的字节码文件扩展名为()E. A. .exe B. .obj C. .java D. .class D17. 用户设置环境变量的合法格式为()A. set path to c:\jdk1.2\binB. set classpath to c:\jdk1.2\binC. set classpath=c:\jdk1.2\binD. set classpath c:\jdk1.2\bin C18. 下面不是Java移位算符的是()B. A. >>> B. <<<C. >>D. << B19. 若有a=001001,执行a>>>3;后a=()A. 0001001B. 1001010C. 1111001D. 1000001 B20. 执行15.2%5的结果()A. 非法B. 3C. 0D. 0.2 D21. 下面哪个是有效的Java标识符()A. max_numB. max-numC. 3DogNightD. (train) A22. 编译一个定义了5个类和18个方法的Java源代码文件,编译该源代码文件时会产生几个字节码文件()A. 1B. 23C. 18D. 5 D23. 下面哪个不是Java的关键字()A. doubleB. IntegerC. floatD. default B24. 下面关键字中那一个是不可用来控制对类成员的访问()A. publicB. privateC. protectedD. default D25. 下面那组是关键字()"A. abstract,object,double" "B. class,object,this" "C. class,double,this" "D. Boolean,double,this" C 26. 使用八进制、十进制和十六进制分别表示字符3正确的一组是()A. Octal …\033‟(八进制) Decimal …33‟(十进制) Hexadecimal …\u0033‟(十六进制)B. Octal …\063‟ Decimal…51‟ Hexadecimal …\0033‟ C.…063‟…3‟…\u0033‟D. …\63‟…51‟…\0033‟ C27. 把“1”放置在名叫ref的整数的高位处(该整数为ox00000001)可用代码()A. ref>>31B. ref>>=31C. ref<<31D. ref<<=31 D28. 算符&&适用于数据类型()B. A. int B. longC. doubleD. boolean D29. "设有定义int a=b,则计算表达式a+=a-=a*a 后,a为()C. " A. -60 B. 0 C. 2D. -24 A30. 若a是int型变量,计算表达式a=25/3%3 后,a为()A. 1B. 2C. 3D. 4 B31. 下面的四个选项中,均是八进制或十六进制数的选项是()"A. -10,ox8f,011" "B. oabc,-017,oxc" "C. 0010,-ox10,oxf1" "D. oa12,ox12,oxa " C32. 下列算符中优先级别最高的是()A. &B. &&C. !=D. ?: C33. JavaAPI的类被组织成几个包()A. 6B. 7C. 10D. 8 D34. Java中,byte型数组在内存中的存储形式是()A.ASCII码B. 补码C. 原码D. 反码B35. 关于main()方法说法正确的是()A. 一个类中可以没有main()B. 所有对象都必须放在main()方法中C. main()必须放在公共类中D. main()方法头的定义可以根据情况任意修改A36. "若有以下定义int k=7,x=12 ,则能使值为3的表达式()" A.x%=(k%=5)B. (x%=k)-(k%5) C. x%=k-k%5 D.x%=(k-k%5) B37. Switch(exp)语句中的exp不应是()A.字符型变量B.整型变量C.整型常量D.逻辑型常量D38. "若想连接字符字面值""Zang"",""Zoom""和""Moon"",可使用哪种形式()B." "A.""bang"",""Zoom"",""Moon"" " B. bang Zoom Moon "C. ""bang""""Zoom""""Moon"" " "D.""bang""+""Zoom""+""Moon"" " D39. 构造方法被调用是当()A. 类定义时B.使用对象的属性时C.使用对象的方法时D. 对象被创建时 D40. 把字符变量c设置为一个空格字符的方法是()"A. c=""﹍""" B. c=0 C. c=…\u0020‟ D. c='\u0000' C41. 将有三个boolean值的数组初始化为true的是()A.boolean []b=new boolean[3] "B.boolean []b={true,true,true} " "C. boolean [3]b={true,true,true}" "D.boolean []b=new boolean[3]; b={true,true,true}" B42. 表达式5&2 之值应为()A. 0B. 2C. 5D. 7 A43. 下面表达式10|2 之值应为()A. 0B. 2C. 10D. 14 C44. 下面语句System.out.println(4|7)的输出是()A. 4B. 5C. 6D. 7 D45. 在下面的语句序列中,temp的最终值为()A. 0B. 1C. 2D. 3 B46. "分析下面这行代码if(5&7>0&&5|2) Systen.out.println(""true""),选择唯一正确的说法()" A. 这行代码不能编译 B. 代码编译,无任何输出C. 代码编译,输出true D. 代码编译,输出false A 47. "关于下面的代码行int []arr={1,2,3}; for(int i=0;i<2;i++)arr[i]=0 ,那一个表达式的值为true()"A.arr[0]==0B. arr[0]==01C. arr[1]==1D. arr[2]==0 A48. 分析下面的代码行float f=3.2; int I=f; ,不正确地的答案是() A.代码不能编译B.代码编译,i被设置为3 C.第二行若改为int i=(byte)f 则可编译D. 第一行若改为float f=3.2f 则可编译B49. 下面的那一个不是Java合法标识符() A.Girl_$ B.$23 C.www12 D. 3xy D50. 下面的那个是Java的关键字() A.sizeof B.abstract C.NULL D. Boolean B51. 下面的那一项能正确生成5个空字符串() A.String a[]=new String [5] B.String 5[a] C.String [5]a D.String a[5] A52. Java程序是由什么组成的() A.类B.对象C.函数D. 包 A53. 执行一个applet,可以使用() A.java.exe B.appletviewer.exe C.Javac.exe D.javadocument.exe B54. 下列算符中优先级最低的是() A.++ B.% C.? D.& C55. 下列算符中优先级最高的是() A.+ B.instanceof C.&& D. ^ B56. 下面这行代码String [][]s=new String[10][]; 的正确陈述是() A.该行代码非法B.s 是一10行10列的数组C.s 是一包含10个一维数组的二维数组"D.s中每个元素设为"""" " C57. 下面赋值非法的是() A.long test=012 B.short s=10 C.int other=(int)true D.double d=1234.05 C58. 下面那个代表八进制数字() A.ox12 B.320 C.o32 D. 12 C59. 下列算符中,只有那一个被String对象重载() A.- B.+= C.>> D.& B60. 下列标签名中非法的是() A.here B._there C.this D. that C61. 下列表达式中合法的是() A.(true&true) B.(int myInt=0>3) C.float myFloat=40.0 D.boolean b=(boolean)99 A62. 下面不是面向对象技术特点的是() A.模块化B.封装C.继承性D. 多态性D63. Java中,一各类可以有几个父类() A.任意B.1 C.2 D. 4 B64. 使用那个关键字来定义一个接口() A.implements B.class C.extends D.interface D65. 接口中的方法被默认是什么的() A.private B.public C.protected D.package D66. 接口体中不应包含() A.常量定义B.常量赋值C.方法实现D.方法声明C67. 常量定义的修饰符为() A.final B.finally C.const D.define A68. 下列不是重载方法的特征的是() A.参数个数不同B.名相同而类型不同C.参数类型不同D.名相同且类型相同 B69. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用关键字() A.super B.import C.this D. return C70. 若有定义如下class dog { float x; static int y;…},则下列说法中正确的是() A.x称为类变量,y为实例变量"B.x,y均为类变量" "C.x,y均为实例变量" "D. x为实例变量,y为类变量" D71. 下列不是构造方法特征的是() A.名字与类相同B.是无参考的C.是viod型D.是一种特殊方法B72. 下列说法正确的是() A.实例方法能对类变量和实例变量操作B.实例方法只能对类变量操作C.实例方法只能实例变量操作 D.类方法能对类变量和实例变量操作 A73. 下列说法错误的是() A.一个类中的实例方法可以调用其他实例方法B.静态方法可以调用实例方法C.实例方法可以调用静态方法 D.静态方法可以调用静态方法 B74. 如想限制类本身对静态成员的访问,应该() A.用final B.用private C.不使用任何关键字D.不能限制B75. 下列不对的是() A.一个实例方法可以同时为protected和Abstract B.static变量也可为final的C.static 方法可以是protected D.static方法可以是的 D76. 默认情况下,所有类能访问所有成员,除了() A.用final关键字定义的B. 用abstract定义的C.在另一个包中定义的 D.在同一个包中定义的 C77. package awt;的结果是() A.编译结果出错B.说明文件的类包含在Java 的awt包中C.说明文件的类在自定义的awt包中 D.导入自定义的awt包中的类 C78. "若有定义class A{int x,y; static float f(int a){…} float g(int x1,int x2){…}} 及A anew A();则下列用法中非法的是()" "A.A.g(3,2)" B.A.f(3) C.a1.f(4) "D.a1.g(2,5) " A79. 下列不是类的属性修饰符的是() A.public B.abstract C.private D.final C80. 类中不加任何访问权限限定的成员属于() A.default B.public C.private D.protected A81. 关于super,下面说法中错误的是() A.用来访问父类被隐藏的的成员变量B.用于调用父类中被重写的方法 C.用于定义父类 D.用于调用父类的构造函数 C82. 接口中的方法默认的访问控制方式是() A.public B.private C.protected D.default A83. 在Java编程中,什么是最基本的单元() A.对象B.类C.包D. 接口 A84. 你编译代码class MySstring extends String{} 会出现的情况是() A.成功编译B.不能编译,因为没有main方法C.不能编译,因为String是abstract类型的D.不能编译,因为String是final类型的D85. 若有下面的类定义class Bridge {Road road;} class Road{String name;} 它表示() A.“是什么”关系B.“有什么”关系C.二者都是D.二者皆不是B86. 要想使定义该类所在的包之外的类不能访问这个类,使用关键字() A.不用 B.private C.finalD.protected A87. 定义一个名为key的类,使之不能被继承,应选() A.class key{} B.native class key{} C.class key{ final;}D. final class key{} D88. 一个对象创建包括的操作中,没有下面的() A.释放内存B.对象声明C.分配内存D.调用构造方法 A89. 下面定义形式中,那一个是非法的() "A.class A{int a,b;…}" "B.class A{int i,j; i=j=10…}" C.class A{int i; float f;…} D. class A{int i=12; float f1=1.2f;…} B90. this关键字的含义是表示一个() A.指针B.当前对象C.一个类D. 一个方法B91. "若有定义如下class A{int x,x1; int f(){int a;…} int g(){int y;…}} ,则不正确的赋值为()" A.在f()中a=x B.在f()中x=a C.在f()中x=x1 D.在g()中y=a D92. 下列定义形式错误的是() A.float a[] B.float a[5] C.int a[]=new int[5] D. float []c B93. 若有定义int a[]=new int[2][3]则第1个下标的可用范围是() A.1到2 B.0到2 C.1 D. 0到1 D94. 数据下标越界,则发生异常,提示为() A.Runtime Exception B.IOException C.ArrayIndex OutOfBoond Exception D.class Cast Exception A95. 若有定义char a[]=new char[5];则a.length的值为() A.0 B.10 C.4 D. 5 D96. "若有定义String tom=""我们是学生"";则tom.length()的值是()" A.5 B.10 C.6 D. 11 A97. "若有定义String tom=""boy"";String hill=""boy"";则表达式(tom==hill)的值为()" A.1 B.true C.false D.0 B98. 调用trim方法,可以去掉字符串的那部分空格() A.前部B.后部C.全部D.前后D99. "若有定义Sting tom=""I am a good cat "";则tom.indexOf(""a"")的值为()" A.2 B.3 C.4 D. 5 A100. "若有定义Sting tom=""I am a good cat "";则tom.indexOf(""good"",2)的值为()" A.4 B.5 C.6 D. 7 D 101. "若有定义Sting to=""I am a good cat "";则to.indexOf(""a"",7)的值为()" A.7 B.13 C.14 D. 8 B102. "若有定义Sting jerry=""I love Tom"",s1;则s1=jerry.substring(2)的值为()" A.l B.love C.love Tom D. Tom C103. "若有定义Sting jerry=""I love Tom"",s1;则s1=jerry.substring(2,5)的值为()" A.lov B.love C.love Tom D. Tom A104. 调用方法时,若要进行参数的引用传递,参数类型可为() A.整型B.实型C.字符型D. 类D105. 在Java中下列关于继承的论述中,错误的是() A.继承具有传递性B.继承关系也称为“即是”(is a)关系 C.支持多继承 D.继承提高了系统的可重用性 C106. 在Java中,关于封装性的说法中,错误的是() A.是一种信息隐蔽技术B.使对象之间不可相互作用C.是受保护的内部实现 D.与类有关,封装的基本单位是对象 B107. 一个消息包含的内容,不应有() A.消息接收者B.接受对象应采用的方法 C.指示接受者做何处理D.方法的参数 C108. "若有定义:class A{ static float f(int a){…}} (设有A类对象a1),则下列说法中非法的是()" A.A.f(3) B.a1.f(4) C.a1.g(5) D. A.g(3) D109. 若声明一个类不能被继承,即不能有子类,用关键字() A.final B.finally C.abstract D. super A110. 显示低层次图片的代码应放在下列那个方法中() A.update() B.paint() C.init() D.repaint() B111. AWT提供给paint()方法的是那个类的实例() A.Thread B.Applet C.Graphics ponent C112. 借助于BorderLayout,为往容器中添加一个组件,应写代码() "p.add(BorderLayout.CENTER,cont)" "p.add(cont,BorderLayout.CENTER)" "p.add(BorderLayout.CENTER,comp)" "p.add(comp,BorderLayout.CENTER) " C113. 为在容器底端放一个按钮,不管用户如何改变尺寸,下列布局管理器那一个最简单() A.BorderLayout B.GridLayout C.FlowLayout D.GridbagLayout A114. "代码的new List (10,true);的含义是()" A.创建含10列的新列表B.创建含10行的新列表,且允许多重选择C.创建不多于10个选项的新列表 D. 创建含10行的新列表,每次选一项 B115. Graphics类有一坐标系统,其原点在() A.图形空间中心B.图形空间左下方C.图形空间左上方D.用户配置的坐标系统 A116. "main()方法中有代码:Frame f=new Frame(""My Frame""); f.sd Size(100,100); 为在屏幕上显示该对象,应加下面哪个的代码()" A.f.appear() B.f.setForeground() C.f.set Visible() D.f.enable C117. 一个Java Applet的生命周期内涉及多个方法,但下面的哪个不是() A.init() B.finalize() C.stop D.destroy() B118. Applet对象自动调用init()方法完成初始化工作,init()可被调用几次() A.3 B.2 C.1 D. 任意 A119. init()方法所做的初始化其任务中不应包括() A.设置初始状态B.装载图像C.设置参数D.跳转页面D 120. 调用repaint()方法,会出现什么情况() A.清除以前pain()方法所画的内容B.保留原来pain()所画的内容C.清除pain()以前所画的内容,再一次调用pain()方法 D.在pain()以前所画内容基础上,再一次调用pain()画新的内容C121. 结束applet的生命周期的方法中,不包括() A.stop() B.destroy() C.关闭浏览器D.close D122. 关于applet,下面说法正确的的是() A.能加载库函数B.可以读写本地计算机系统上的文件C.不能运行本地计算机上的任何程序 D. 不能和任何主机建立网络通信 C123. paint()需要一个参数,它是() A.一个位置值B.一个Graphics对象C.一个字符串D.一个高度值C 124. HTML语言的applet标签属性中,哪个不是必选的() B.CODE C.WIDTH D.HEIGHT A 125. JVM会一直运行,直到() A.main()结束B.仅剩下用户线程C.仅剩下守护线程D. (1)或(3)任一条件 C126. "为获得参数lastname ,可在applet中用代码()" "A.String s=getName(""lastname"")" "B.Strings=Parametre(""lastname"")" "C.String s=getParametre(""lastname"")" "D.String s=get(""lastname"") " C 127. 从下面的main ()的调用Java lyrics a kiss is but a kiss 中访问单词“kiss”的是() A.args[0] B.args[5] C.args[4] D. args[3] B128. 下面定义main()方法有效的是() A.public static void main(String args[]){} B.public main(String[]) C.public void main() D. public void main(args[]){} A129. main()需要一个参数,它是() A.一个整型量B.一个String对象C.一个实型量D.一个任意类的对象B 130. "从下面的main()方法Java lyrics a kiss is but a kiss 的调用中访问单词""but""的是()" A.args[3] B.args[2] C.args[0] D.args[1] A131. 在文本框中设置文本的方法是() A.setEchochar() B.getText() C.setText() D.Textfield() C132. 获取文本框的文本的方法是() A.setEchochar() B.setText() C.Textfield() D. getText() D133. 用于文本区中设置文本同时清除文本区中原有文本的方法是() A.setText(String s) B.getText() C.TextArea(String s) "D. TextArea(int x,int y)" A134. 对于文本区事件源,要获得监视器的方法是() A.addTextListener() B.TextV alueChanged() C.append(String s) D.insert(String s int x) A135. 下列监听器接口,那个不能添加到TextArea对象中() A.TextListener B.ActionListener C.MouseListener ponentListener B136. 下列那一项的实现不可以添加为TextField对象的监听器() A.ActionListener B.FocusListener C.MouseMotionListener D.WindowsListener D137. 下列说法不正确的是() A.java.awt包的类Panel是用来创建面板的B.container类是Panel类的子类C.Panel类的实例是一个容器D.容器也是一个组件B138. 那个类负责创建画布对象() A.Applet B.Container ponent D.Canvas D139. 在ScrollPane(int a)方法中,a指定滚动条的初始状态,下面除那个之外均是a可取值() A.ScrollPane.SCROLLBARS_ALWAYS B.ScrollPane.SCROLLBARS_AS_NEEDED C.ScrollPane.SCROLLBARS_NEVER D.ScrollPane.SCROLLBARS_NEEDED D140. 能从左到右,从上到下地排列组件,并且当从一行移到下一行时能使每行居中的布局管理器是() A.BorderLayout B.FlowLayout C.GridLayout D.CardLayout B141. 当把组件放置在BorderLayout的哪个区域时,该组件可以自动调整其水平方向而非垂直方向的尺寸() A.North or South B.East or West C.Center "D.North,South or Center" A142. 下列布局管理器中,哪一个会在前个组件相同行上放置组件,直到该组件超出容器的宽度,然后从新行开始,并把添加的组建居中放置() A.BorderLayout B.CardLayout C.FlowLayout D.GridbagLayout C 143. 应把组件放在BorderLayout的哪个区域时,它会自动垂直调整大小,但不水平调整() A.North or South B.East or West C.Center "D. North,South or Center" D144. 当为组件调用repaint()时,AWT包调用组件方法() A.update B.paint C.draw D. show A145. 用Java中的哪个方法来隐藏用户界面的组件() A.disable B.setVisible C.remove D.delete B146. 如想改变某组件的尺寸,可用方法() A.dimension B.resize C.area D.setSize D147. setForeground()和()setBackground()定义在哪个类中 A.Graphics B.Container ponent D.Applet C148. 若要用空标题构造选择框,应选择方法() "A.Checkbox(String s,boolean b,CheckboxGroup g)" Checkbox() "C.Checkbox(String s,boolean b)" D.Checkbox(String s) B149. 当我们在一个容器中添加了多个选择框,且使用CheckboxGroup将它们归为某一组,则在这一组中,一个时刻可以有几个选择框被选中() A.1 B.2 C.4 D. 任意 A150. "Checkbox类的方法有getstatc(),getlable()等,它们是什么的()" A.private B.public C.protected D. default B151. 选择控件(Choice)每次选择可择其中的项是() A. 1 B. 2 C. 3 D. 所有 A152. 创建了一个选择控件对象后,可得选项顺序加入到控件中的方法是() A. Choice() B. remove(int) C. getSelectItem() D. add(string) D153. 当选择了选择控件(Choice)中某个选项后,会产生事件() A. ActionEvent B. ItemEvent C. TextEvent D. 不会产生事件 B154. 使选择控件(Choice)获得监视的方法是() A. addActionListener() B. addItemListener() C. addComponentListener() D. addT extListener() B155. 选择控件(Choice)事件的接口方法是() A. actionPerformed(ActionEvent e) B. itemStateChanged(ItemEvent e) C. adjustmentV alueChanged(AdjustmentEvent e) D. textV alueChanged(TextEvent e) A156. 如果要判断是哪个选择控件(Choice)产生的事件源,可使用的方法() A. getItem(int) B. getSource C. getItemSelectable() D. getItemIndex() C157. 滚动列表(List)每次选择选项,可以选择个数是() A. 1 B. 多个 C. 所有D. 根据列表对象初始化参数确定 D158. 获得滚动列表(List)当前选项的索引,可以使用方法() A. getSelectedItem() B. getSelectedIndex() C. add(Sting) D. 不能获得索引,只能得到选项字符串B 159. 滚动列表(List)k可以产生几种事件() A. 1 B. 2 C. 3 D. 4 B160. 双击滚动列表上的选项,可产生事件是() A. ItemEvent B. ActionEvent C. FocusEvent D. KeyEvent B 161. 设置组件的背景色可用方法() A. void setBackgroundColor(Color c) B. void setForegroundColor(Color c) C. void setBackground(Color c) D. void setForeground(Color c) C162. 创建一个字体类对象,字体的式样为斜体,可使用的参数是() A. Font.PLAIN B. Font.BOLD C. Font.ITALIC D. Font.BOLD和Font.ITALIC C163. 使用方法可设置组件的位置和大小的是() "A. void setLocation(int x,int y)" "B. void setSize(int Width,int Height)" "C. void setBounds(int x,int y,int width,int height)" D. 没有这样的方法C164. 用类可以创建一个Java的窗口的是() A. Canvas B. Applet C. Window D. Frame D165. 基于Frame创建了一个窗口,该窗口() A. 立即显示 B. 不能立即显示C. 用方法SetVisible(true)显示 D. 用方法super()显示 C166. 向窗口中加菜单,具体做法是() A. 创建一个菜单条(Menubar)对象作为一个菜单B. 创建一个菜单(Menu)对象作为一个菜单C. 先创建一个菜单条(Menubar)对象,再创建一个菜单(Menu)对象,将菜单对象加入菜单条对象 D. 创建窗口时直接用方法super()设置菜单 C167. 往一个菜单中加一个菜单项,做法是() A. 将菜单项直接加到菜单条中B. 将菜单项加到一个菜单中C. 创建一个菜单时将菜单项作为参数D. 上述三种方法任一种都可以B168. 设置一个菜单项不可选择,可使用方法() A. setVisible(false) B. setEnabled(false) C. setItem(String s) D. 只要有菜单项就可选择B169. 选择一个菜单项,可产生的事件是() A. ItemEvent B. ActionEvent C. TextEvent D. ContainerEvent B。
