当前位置:文档之家› 方法重载的描述

方法重载的描述

方法重载的描述

方法重载是指在同一个类中,可以定义多个方法名相同但参数类型、个数或顺序不同的方法。通过方法重载,可以根据不同的需求,使用相同的方法名调用不同的方法,极大地提高了代码的复用性和可读性。

方法重载的原理是根据方法的参数列表来区分不同的方法。在Java 中,方法的参数列表由参数的类型、个数和顺序组成。当调用一个方法时,编译器会根据传入的参数的类型、个数和顺序来选择合适的方法进行调用。

方法重载的优势在于可以根据不同的需求,使用相同的方法名进行调用,使代码更加简洁和易于理解。例如,我们可以定义一个名为"sum"的方法,用来计算两个整数的和。如果需要计算两个浮点数的和,我们可以再定义一个参数类型为浮点数的"sum"方法。这样,无论是计算整数还是浮点数的和,我们都可以使用相同的方法名进行调用,提高了代码的复用性。

在方法重载中,参数的类型是最重要的区分标志。当需要调用一个方法时,编译器会根据传入的参数的类型来选择合适的方法。如果存在多个方法的参数类型完全相同,那么编译器会选择与参数类型最接近的方法进行调用。如果存在多个方法的参数类型都不满足要求,那么编译器会报错,提示方法不存在或参数不匹配。

除了参数的类型之外,方法重载还可以通过参数的个数和顺序来区分不同的方法。当传入的参数个数或顺序与方法的定义不匹配时,编译器会选择与参数个数和顺序最接近的方法进行调用。如果存在多个方法的参数个数或顺序都不满足要求,那么编译器会报错,提示方法不存在或参数不匹配。

需要注意的是,方法重载不能仅仅依靠返回值的类型来区分。在Java中,方法的返回值类型不是方法重载的标志,即使两个方法的返回值类型不同,只要参数列表相同,编译器仍然会报错。

方法重载的使用场景非常广泛。在实际开发中,我们经常会遇到需要处理不同类型或个数的参数的情况。通过方法重载,我们可以使用相同的方法名进行调用,提高代码的可读性和可维护性。例如,我们可以定义一个名为"print"的方法,用来打印不同类型的数据。当需要打印整数时,我们可以调用print(int)方法;当需要打印字符串时,我们可以调用print(String)方法。这样,无论是打印整数还是字符串,我们都可以使用相同的方法名进行调用,使代码更加简洁和易于理解。

在使用方法重载时,需要注意避免参数类型过于相似,容易造成混淆和歧义。例如,我们定义了一个名为"add"的方法,分别用来计算两个整数和两个浮点数的和。如果两个方法的参数类型分别为(int a, int b)和(float a, float b),那么当传入两个整数时,编译器会报

错,提示方法调用模糊不清。

方法重载是一种非常实用的编程技巧,通过定义多个方法名相同但参数类型、个数或顺序不同的方法,可以根据不同的需求使用相同的方法名进行调用。方法重载提高了代码的复用性和可读性,使代码更加简洁和易于理解。在使用方法重载时,需要根据参数的类型、个数和顺序进行合理的设计,避免造成混淆和歧义。

面向对象程序设计作业(带答案)

人工智能学院 面 向 对 象 程 序 设 计 作 业

Java语言基础 年级专业 2019级软件工程专业学号姓名成绩 一、选择题 1.下列标识符中,正确的是(C)。 A.class B. 123_rr C. _lei D. test&12 2.下列( D )的选项可以正确表示八进制8。 A.0x8 B. 0x10 C.08 D. 010 3. 以下哪个是十进制数17对应的十六进制正确表示?( D ) A. 017 B. x11 C. 0x17 D. 0X11 4.在Java中,不属于整数类型的是( A )。 A.double B. long C. int D. byte 5.在Java中,关于标识符的说明,不正确的是(D )。 A.严格区分大小写; B.长度不限; C.不能用关键字和保留字作为标识符; D.可以包含空格 6.给出下面代码的输出结果。( D ) public class ByteAdd { public static void main(String args[ ]){ byte a=10; byte b=100; byte c; c=a+b; System.out.println(a+"+"+b+"="+c);} } A.输出零 B.输出 10+100=110 C. 编译时正确,运行时将产生错误; D.编译时将产生错误; 二、程序阅读题 1. 对于以下程序,运行“java Abs”,将得到什么打印结果?public class Abs{ static int a=0x11; static int b=0011; static int c='\u0011';

Java程序设计与应用复习_选择题.docx

继承。 A. Hello B. Java 支持分布式的网络应用,可透明地访问网 C. hello, java 络上的其他对象。 识符后带后缀.j C. Java 支持多线程编程。 2.1在方法的定义屮,下面说法正确的是(c)o D. Java 程序与平台无关、可移植性好。 A.必须有形式参数列表 B.必须有 1. 4下列(a)是面向大型企业级专用构件的应用return 语句 平台。 C.使用return 语句返回值 D.如果没有 A. J2EE B. J2ME C. J2SE D. J2DE 返回值,可以省略返回值数据类型 1. 5编译Java Appl ication 源程序文件将产生相2. 2下面这些标识符(c )是错误的。 应的字节码文件,这些字节码文件的扩展名为 (b)oA. Javaworld B. _sum C. 2Java A. java B. class C. html D. exe Program D. $abc 1.6 Java 程序在执行过程中用到一套JDK 工具, 2.3为使整型变量x 的值加1,下面写出的形式不 其中 java, exe 是指(b)0 A. Java 文档生成器 B. Java 解释器 Java 编译器 D. Java 类分解器 1.7在Java +,负责对字节代码解释执行的是 (b)2.4以下选项屮变量a 已定义类型,不合法的赋值 A. 垃圾回 收器 B.虚拟 机 C.编译器表达式是(b )o D.多线程机制 A. a=(int)y B. a==l 1. 1 Java 是一种完全面向(b )的语言。 public static void main(StringE ] args) A.过程 B.对象 C.组件 D.服务 C. public static int main(String[ ] args) 1. 2 Java 语言具有许多特点,下列选项中,(b) I), public void main(String[ ] args) 反映了 Java 程序并行 机制的特点。 1.12 Jwa 程序中,(d)不能用来表示注释。 A.安全性 B.多线程 C.跨平台 D.可移植A. 〃注释 B./*注释*/ 1.3下面关于Jewa 语言特点的描述中,错误的是C./**注释*/ D. /注释/ (a)o 1. 13只包含一个带publ ic 修饰的Java 类Hello A. Java 是纯面向对象编程语言,支持单继承和多的Java 程序正确命名是(b)。 B. Hello, java D.—个任意的标 对的是(d )。 CA. x++ D. x=+l 2. 5设有定义int i=6;则执行以下语句后, i += i-lo B. 121 C. 11 双击是(c ) A. 10 双击100 2.6设各个变量的定义如下,(c )选项的值为 int a=3, b=3; B. import applet. * boo lean flag 二true; D. importA. ++a == b B. ++a == b++ C. (++a == b) | | flag D. &+a == b) && flag 2.7执行下面程序后,结论正 确 的是(d )o int a, b, c; a=l; b=3; if (1+3>3) ++a; 因此 a=1+1=2 b 的值未变 if (a+b>3) ++a; else b++; c = ++a: b++); mainO 方法的方法头合法的是(b)A. a 的值为2, b 的值为3, c 的值为1 B. B. a 的值为2, b 的值为4, c 的值为2 ava B. ++x C. x=x+l C. a=a+l

java基础复习题

一、单项选择题 1、在Java中,关于方法重载描述正确的是___D___ A 如果两个方法名相同、参数项相同,则认为一个方法是另一个方法的重载方法 B 如果两个方法名不同、参数项相同,则认为一个方法是另一个方法的重载方法 C 如果两个方法名不同、参数项不同,则认为一个方法是另一个方法的重载方法 D 如果两个方法名相同、参数项不同,则认为一个方法是另一个方法的重载方法 2、在Java中,关于数组描述正确的是____B____ A 数组中的索引下标从1开始 B 存储在数组当中的数据都属于同一数据类型 C 数组创建后其大小是可以改变的 D 数组的最大索引下标与数组的长度相等 3、给定如下Java代码,关于super的用法,以下___C_____哪个描述是正确的 class C extends B{ public C(){ super(); } } A 用来调用B类中定义的super()方法 B 用来调用C类中定义的super()方法 C 用来调用B类的无参构造方法//super:用作父类的 D 用来调用B类的第一个出现的构造方法 4、下列选项中关于this关键字说法正确的是___A_____ A this关键字是在对象内部指代对象自身的引用//this:用作当前对象 B this关键字可以在类中的任何位置使用 C this关键字和类关联,而不是和特定的对象关联 D 同一个类的不同对象公用同一个this 5、有如下两个类Student和Person,如果Student是Person的子类,下列语句错误的是____C____ A Person p=new Student(); B Person p=new Person();

Java程序设计智慧树知到答案章节测试2023年

第一章测试 1.下列关于Java特点的描述中,错误的是()。 A:Java允许多个线程同时执 行 B:Java只能运行在Window和Linux平台 C:Java语言不支持指针 D:Java 具有自动垃圾回收的机制答案:B 2.下列目录中,哪一个是用来存放JDK可执行程序的()。 A:bin目录 B:db 目录 C:lib目录 D:jre目录答案:A 3.下列关于JDK、JRE和JVM关系的描述中,正确的是() A:JDK中包含了 JRE,JRE中包含了JVM。 B:JRE中包含了JDK,JVM中包含了JRE。 C:JRE 中包含了JDK,JDK中包含了JVM。 D:JDK中包含了JRE,JVM中包含了 JRE。答案:A 4.已知String x="abcdefghijk",则x.substring(3,5)的返回值为()。 A:"cdef" B:"de" C:"def" D:"bcde" 答案:B 5.JAVA语言和C语言一样,都是面向过程的编程语言。() A:对 B:错答 案:B ## 第二章测试 6.下列选项中,不属于比较运算符的是()。 A:< B:= C:== D:<= 答案:B 7.下列选项中,属于布尔常量的是()。 A:abf B:198 C:true D:2e3f 答案:C 8.JAVA语言不区分大小写。() A:对 B:错答案:B 9.class可以用来作为标识符命名。() A:错 B:对答案:A 10.数值5.0f 是float类型。() A:对 B:错答案:A ## 第三章测试 11.while和do while语句没有区别。() A:错 B:对答案:A 12.while语句、do while语句,for语句都是循环控制语句。() A:对 B:错答 案:A 13.数组{1,2,3,4,5},下标最大值为5。() A:对 B:错答案:B 14.数组中存放的数据类型可以不相同。() A:对 B:错答案:B 15.关于continue语句的使用范围,下列说法正确的是()。 A:continue语句 可以在循环语句中使用 B:continue语句可以在条件语句中使用 C:continue 语句可以在选择语句中使用 D:不输出任何内容答案:A ## 第四章测试 16.当成员变量和局部变量重名时,若想在方法内使用成员变量,那么需要使用 下列选项中的哪一个关键字()。 A:this B:import C:super D:return 答案:A 17.17下面关于重载的描述,错误的是()。 A:构造方法不能重载 B:方法重载 发生在一个类的内部 C:方法的返回值类型不是区分方法重载的条件 D:重载 要求方法名相同,参数列表不同答案:A 18.接口可以直接用来实例化对象。() A:对 B:错答案:B 19.如果想实例化一个抽象类,必须先实现这个抽象类中的所有抽象方法。() A:错 B:对答案:B 20.下列关于类和对象的描述,错误的是()。 A:对象是类的实例 B:类用于描 述一组对象的共同特征和行为 C:类是对象的抽象 D:一个类只能有一个实例 化对象答案:D ## 第五章测试

简述方法的重写和重载

简述方法的重写和重载 在面向对象的程序设计中,方法的重写和重载是两个很重要的概念。虽然它们都涉及到方法的定义,但它们的意义和用法是不同的。本文将详细介绍这两个概念的含义和使用方法。 一、方法的重写 方法的重写(Override)是指在继承关系中,子类中定义一个与父类中同名、同参数的方法,但是方法体的实现不同。这样的方法就覆盖了父类中的方法,从而使得在子类中调用该方法时,执行的是子类中的实现。重写的方法和被重写的方法具有相同的方法名、方法参数列表和返回值类型。 重写方法的实现要符合“里氏替换原则”,即子类对象必须能够替换掉父类对象,而系统的行为不发生变化。因此,重写方法的访问修饰符不能比被重写方法的访问修饰符更严格。如果被重写方法是public,那么重写方法也必须是public;如果被重写方法是protected,那么重写方法可以是protected或public;如果被重写方法是default,那么重写方法可以是default、protected或public。而且,重写方法的返回值类型必须与被重写方法的返回值类型相同,或者是其子类。 重写方法的使用场景很多,比如在实现多态时,子类可以根据自己

的需要来重写父类的方法,从而实现不同的行为。此外,在框架设计中,重写方法也是常用的技术手段。 二、方法的重载 方法的重载(Overload)是指在同一个类中,定义多个方法,它们具有相同的方法名,但是参数列表不同。重载方法的返回值类型可以相同也可以不同,但是不能仅仅是参数名不同或者是返回值类型不同。 重载方法的使用场景也很多,比如在Java中的print和println方法就是一个很好的例子。print方法被重载了多次,以便于接受不同类型的参数。此外,在处理数据类型转换时也经常会用到方法的重载。 需要注意的是,方法的重载和方法的重写是不同的概念,虽然它们都涉及到方法的定义。重载方法是在同一个类中定义多个方法,而重写方法是在子类中覆盖父类的方法。重载方法的参数列表不同,而重写方法的参数列表必须相同。重载方法的返回值类型可以相同也可以不同,而重写方法的返回值类型必须相同或者是其子类。 三、总结 在面向对象的程序设计中,方法的重写和重载是两个很重要的概念。重写方法是在子类中覆盖父类的方法,以实现多态和框架设计等目

java高级编程试题

java高级编程试题 试题 一.单项选择题(共15题,每题2分,共30分。多选,选不全或选错都不得分。) 1.以下不属于面向对象的特征的是() A) 重载B) 抽象C) 封装D) 继承 2.以下代码运行输出是() public class Animal { private String name=”Joan”; int age=0; } public class Dog extends Animal{ public String colour; public static void main(String[] args){ Animal ani = new Dog(); System.out.println(https://www.doczj.com/doc/e519057194.html,/doc/2f8445126.ht ml,); } } A) 没有输出B) 输出:Joan C) 运行出错D) 编译出错 3.以下对重载描述错误的是() A) 方法重载只能发生在一个类的内部B) 构造方法不能重载 C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件 4.在使用super 和this关键字时,以下描述正确的是() A) super()和this()不一定要放在构造方法内第一行 B) this()和super()可以同时出现在一个构造函数中 C) this()和super()可以在static环境中使用,包括static方法和static语句块

D) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过5.以下对继承的描述正确的是() A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 6.以下描述错误的有() A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承 C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的 7.访问修饰符作用范围由小到大是() A) private-default-protected-public B) public-default-protected-private C) private-protected-default-public D) public-protected-default-private 8.以下对抽象类的描述正确的是() A) 抽象类没有构造方法B) 抽象类必须提供抽象方法 C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化 9.在Java中,关于HashMap类的描述,以下错误的是( )。 A) HashMap使用键/值得形式保存数据B) HashMap 能够保证其中元素的顺序 C) HashMap允许将null用作键D) HashMap允许将null用作值 10. 在Java中,以下代码( )正确地创建了一个InputStreamReader对象。 A) InuptStreamReader(new FileInputStream(“1.dat”)); B) InuptStreamReader(new FileReader(“1.dat”));

面向对象程序设计(java)题库

面向对象程序设计(java)题库 抽题规范: (1)此题库共75道题,抽8道作为期末考试题。其中,易8道,较易33道,较难 18道,难16道. (2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大 题抽1 道,每道20分;第四大题抽1道,每道20分。 (3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。 一、解答题(共40道,抽4道,每道10分,共40分) 1.面向对象有哪三大特征? 封装,继承,多态. 2.什么是类? (易) 类是定义同一类所有对象的变量和方法的蓝图或原型。 3.什么是对象? 对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方 法 .。 4.类和对象的区别是什么? java中的类是模板,而对象是依据模版产生的实体 5.简述Java的封装性,如何在Java中实现封装 封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。实现为加访问权限。 6.构造方法有哪些特点 方法名与类名相同,没有返回值,可以有多个重载。 7.构造方法的作用是什么? (较易) 初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。 8.this在程序中所代表的意思(易)指当前对象 9继承的作用是什么? (易)实现代码复用。 10.Java支持多继承吗? (易)不能。 11.子类可以继承父类的哪些成员? (较难)变量和构造方法。 12.简述构造子类对象时子类和父类构造方法执行顺序(较易)先执行父类再执行子类。 13.什么是方法的重载,如何选择被重载的方法?(较易)

c#复习题

C#复习题 一. 知识点串讲项目一: C#与.NET 1)掌握visual studio 2021 的安装。了解.NET框架的基础知识。 (.Microsoft .NET Framework,它是一个开发平台,包括公共语言运行时CLR和.NET类库两部分,在这个平台上,可以使用https://www.doczj.com/doc/e519057194.html,、C#,C++,https://www.doczj.com/doc/e519057194.html,等语言进行程序开发。)2)C#是从C, C++派生出来的一种面向对象的编程语言,它具有面向对象的一切特性:封装、继承、多态, 去掉了在C, C++中常被使用的指针操作。 3)C#程序的运行是从主方法main()开始的。在程序中,使用using关键字引入命名 空间,使用namespace关键字定义声明名称空间。通常使用快捷键ctrl+f5进行程序的 执行。项目二: C#语法基础 1)C#语言中个,变量的命名,以字母、下划线或@符号开始的字符序列,后面可以跟 字母、数字或下划线。 2)C#程序书写时要遵循原则 3)注释(行注释 // 多行注释 /* */ XML注释方式 ///开头,并包含xml标签。 4)C#中的数据类型P26 值类型与引用类型: 值类型:简单类型、枚举类型、结构类型 引用类型:类类型、接口类型、数组类型、委托类型 5)数据类型转换:隐式转换 和显式转换 隐式转换:字符类型――>整型(浮点型)低精度――>高精度类型 显式转换:()转换 convert类转换 parse方法转换 tostring()转换项目三:方法 1)方法:相当于C(C++)中的函数,是包含系列语句的代码块,是类中的重要成员。2)方法的修饰符: 特殊功能修饰符: static virtual override new sealed abstract extern 访问修饰符:public private protected internal protected internal 缺省为private修饰符 3)变量的作用域 方法体内声明的变量在方法体内作用,符合语句中定义的变量在符合语句内起作用。 类的成员变量在类的花括号内起作用。

(1)java练习(基础)

一、单项选择题(总分60) 1. (分值:1.1 分)自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为() A: char-int-long-float-double B: int-long-float-double-char C: long-float-int-double-char D: 以上都不对 2. (分值:1.1 分)在java 中,Integer.MAX_VALUE 表示 A: 浮点类型最大值 B: 整数类型最大值 C: 长整型最大值 D: 以上说法都不对 3. (分值:1.1 分)JAVA 中,数据类型值中不可能出现的符号是() A: d B: f C: e D: / 4. (分值:1.1 分)下列表示单引号的是() A: ‘ B: \R C: \\\\’ D: ‘\\ 5. (分值:1.1 分)下列不属于整型变量的类型是 A: byte B: short C: float D: long 6. (分值:1.1 分)int 类型整型变量在内存中的位数为 A: 8 B: 16 C: 32 D: 64 7. (分值:1.1 分)下列数据类型转换,必须进行强制类型转换的是 A: byte→int B: short→long C: float→double D: int→char 8. (分值:1.1 分)java 中,用()关键字定义常量 A: final B: #define C: float D: const 9. (分值:1.1 分)下列属于条件运算符的是 A: +

C: && D: >> 10. (分值:1.1 分)已知i 为整形变量,关于一元运算++i 和i++,下列说法正确的是A: ++i 运算将出错 B: 在任何情况下运行程序结果都一样 C: 在任何情况下运行程序结果都不一样 D: 在任何情况下变量i 的值都增1 11. (分值:1.1 分)在java 中语句:37.2%10 的运算结果为 A: 7.2 B: 7 C: 3 D: 0.2 12. (分值:1.1 分)在java 语句中,运算符&&实现 A: 逻辑或 B: 逻辑与 C: 逻辑非 D: 逻辑相等 13. (分值:1.1 分)在java 语句中,位运算操作数只能为整型或()数据 A: 实型 B: 字符型 C: 布尔型 D: 字符串型 14. (分值:1.1 分)00101010(|)00010111 语句的执行结果为 A: 00000000 B: 11111111 C: 00111111 D: 11000000 15. (分值:1.1 分)~0010101 语句的执行结果为 A: 1101010 B: 0010101 C: 11111111 D: 00000000 16. (分值:1.1 分)复合语句用()括起来的一段代码。 A: 小括号() B: 大括号{} C: 中括号〔〕 D: 单引号‘’ 17. (分值:1.1 分)下列不属于条件语句关键字的是 A: if B: else C: swich D: while 18. (分值:1.1 分)多分支语句switch(表达式){}中,表达式不可以返回哪种类型的

使用Java实现面向对象编程结课考试资料

使用Java实现面向对象编程结课考试资料 使用Java实现面向对象编程结课考试 一、选择题(每题2分共计100分) 1、运行如下Java代码,说法正确的是()(选一项) A.编译错误 B.程序运行正常,输出15 C.程序运行时出现异常 D.程序运行正常,但无输出 2、以下选项()不会与下列Java方法形成重载。(选一项) 3、在Java中,有如下的学生类(Student),可以作为学生类构造函数的选项是()(选一项)

4、运行以下Java代码,说法正确的是()(选一项) A. 发生编译错误 B. 程序可正常运行,但无输出 C. 程序运行正确,输出:My age is 20 D. 程序运行时出现异常 5、Java中定义一个抽象方法需要使用的关键字() A.override B.Virtual C.abstract D.Extends 6、在Java中,Animal类及其子类Dog代码如下,则程序运行效果为()(选一项)

A. 输出:Animal eating B. 输出:Dog eating C. 运行错误 D. 编译错误 7、以下关于Java中final关键字说法错误的是()(选择一项) A. 被final修饰的类不能被继承 B. 被final修饰的方法不能被子类重写 C. 被final修饰的变量将成为常量 D. final可以和abstract同时修饰一个类或方法 8、在Java中,以下不是多态实现条件的是()(选一项) A. 要实现多态必然要有接口 B. 继承的存在 C. 子类重写父类的方法 D. 父类引用变量指向子类对象 9、以下关于Java中的方法重载说法错误的是()(选择一项) A. 重载的方法其方法名必须相同 B. 重载的方法其参数个数或参数类型不同 C. 构造方法可以被重载

【Java经典试题】Java复习考试试题

【Java经典试题】Java复习考试试题 (一)单选题 1、下列关于Java语言特性的描述中,错误的是()。 A.支持多线程B.Java程序与平台无关C.Java程序可以直接访问Internet上的对象D.支持单继承与多继承 2、下列说法不正确的是?() A. 一个Java源程序经过编译后,得到的文件扩展名一定是class B. 一个Java源程序编译通过后,得到的文件数民只有一个 C. 一个Java源程序编译通过后,得到的结果文件数可能有多个 D. 一个Java源程序编译通过后,不一定能用Java解释器执行 3、下列标识符不合法的是?() A. continue B. $teacher C. _teacher D. teacher5 4、下列标识符合法的是?() A. #num B. $num C. 2num D. &num 5、short类型的数的取值范围是?() A. -27~27-1 B. -215-215-1 C. -232~232-1 D. -264~264-1 6、关于下面的程序,哪个说法是正确的?() public class Test { static String a[] = new String[5]; static int b[] = new int[5];

public static void main(String[] args) { System.out.print(a[0]); System.out.println(b[0]); } } A. 编译时将产生错误 B. 编译时正确,运行时将产生错误 C. 输出nullnull D. 输出null0 7、以下代码段执行后的输出结果是?() int x=7; double y=-5.0; System.out.println(x%y); A. -2.0 B. 2.0 C. 2 D. 0.4 8、以下哪个不是Java的关键字?() A. void B. print C. instanceof D. super 9、在Java中,下述哪一个关键字不是类及类成员的访问控制符?() A. public B. private C. static D. protected 10、下面关于变量的说法,不正确的是()。 A.类的每个对象维护它自己的一份类变量的副本

Java大学实用教程课后答案

Java大学实用教程课后答案 第一章 1.发明java的原因是什么,发明java的主要贡献者是谁? 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?答:不正确,字节码是很接近机器码的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法? 4. "java应用程序必须有一个类是public类".这句话正确吗? 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗?不正确 "java applet源文件的主类必须是public类",这句话正确吗?正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。 (2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java 语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗? 8. 怎样编写加载运行java applet的简单网页? 9. JDK1.6编译器使用"-source"参数的作用是什么,其默认的参数取值是什么?

Java基础阶段复习题(附答案)

Java基础阶段复习题(附答案) 复习题2 如有雷同,纯属巧合! 1.下列哪一种叙述是正确的() A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 2.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 3.以下哪个表达式是不合法的() 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)&&(x.length()>0) ? x.length() : 0 4.下列关于修饰符混用的说法,错误的是() A.abstract不能与final并列修饰同一个类 B.abstract类中不可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 5.()修饰符允许对类成员的访问不依赖于该类的任何对象 A、abstract B、static C、return D、public

6.关于被私有访问控制符private修饰的成员变量,以下说法正确的是() A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 7.使用()方法可以获得Calendar类的实例。 A.get() B.equals() C.getTime() D.getInstance() 8.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 9.关于Map和List,下面说法正确的是( )。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 10.给定如下Java代码,编译运行的结果是()。 import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); A ? B list.add(“A”); l ist.add(2,”B”);

计算机基础摸底测试题含答案

计算机基础摸底测试题含答案 一、单项选择题(第1题~第100题。选择一个正确的答案,将相应的字母填入题内的括号中。每题1分,满分100分。) 您的姓名: [填空题] * _________________________________ 1、JAVA所定义的版本中不包括:()。 [单选题] * A、 JAVA2 EE B、 JAVA2 Card C、 JAVA2 ME D、 JAVA2 HE(正确答案) 2、下列说法正确的是() [单选题] * A、 JAVA程序的main方法必须写在类里面(正确答案) B、 JAVA程序中可以有多个main方法 C、 JAVA程序中类名必须与文件名一样 D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、变量命名规范说法正确的是() [单选题] * A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头;(正确答案) C、 A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、Java中,在如下所示的Test类中,共有__个构造方法()。 public class Test{

private int x; public Test(){ } public void Test(double f){ x=35; This.x=(int)f; } public Test(String s){} } [单选题] * A、 0 B、 1 C、 2(正确答案) D、 3 5、下列javaDoc注释正确的是() [单选题] * A、 /*我爱北京天安门*/ B、 //我爱北京天安门*/ C、 /**我爱北京天安门*/(正确答案) D、 /*我爱北京天安门**/ 6、为一个boolean类型变量赋值时,可以使用__方式() [单选题] * A、 boolean = 1; B、 boolean a = (9 >= 10);(正确答案) C、 boolean a="真"; D、 boolean a = = false; 7、以下__不是合法的标识符() [单选题] *

Java面向对象测试试题(经典)

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 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 int cal(int x, int y, float z){ return 0; } B. public int cal(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) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

《Java基础入门》课后习题及答案

《Java基础入门》课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK 安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运 行工具所在的路径,而_classpath_____环境变量 则用来保存保存Java虚拟机要运行的“.class” 文件路径。 二、选择题

1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗 口中任何当前路径下,都可以直接使用javac和 java命令,需要将环境变量path设置为以下哪个

选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、简述JRE与JDK的区别。 JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO 类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。JDK(Java Development Kit,Java开发工具包),它

太原理工大学计算机科学与技术专业大二2017-2018学年java面向对象试题

太原理工大学计算机科学与技术专业大二2017-2018学年 java面向对象试题 1. 类和对象之间关系是() [单选题] 联接关系 包含关系 抽象与具体的关系(正确答案) 类是对象的具体化 2. 类是具有相同()的集合,是对对象的抽象描述 [单选题] 属性和方法(正确答案) 变量和方法 变量和数据 对象和属性 3. 下列哪个类声明是正确的() [单选题] public void H1{…} public class Move(){…} public class void number{…} public class Car{…}(正确答案) 4. 定义类头时,不可能用到的关键字是() [单选题] class void(正确答案) extends

public 5. 关于方法功能描述错误的是() [单选题] 使程序结构清晰 实现代码模块化重用 方法是类功能的封装 重复代码(正确答案) 6. 关于方法形参描述正确的是() [单选题] 可以没有形参(正确答案) 至少有一个形参 必须定义多个形参 形参只能是基本变量类型 7. 在定义方法时在最后一个形参的类型后增加“...”,相关描述错误() [单选题] 可变参数接受的对象是一个数组 “...”表示可变参数 “...”表示省略号(正确答案) “...”只能出现在参数列表的最后 8. 利用方法中的()语句可为调用方法返回一个值 [单选题] return(正确答案) back end 以上答案都不对 9. 以下关于return语句使用描述错误的有() 不能用来返回对象(正确答案)

只可以返回数值(正确答案) 方法中都必须包含return语句(正确答案) 一个方法可以有多个return语句 10. void的含义描述正确的是() [单选题] 方法体为空 方法体没有意义 方法没有返回值(正确答案) 定义方法时必须使用 11. main()方法的返回类型是() [单选题] boolean void(正确答案) int static 12. 下面的方法声明中,哪个是正确的() [单选题] public class methodName(){…} public void int methodName(){…} public void methodName(){…}(正确答案) public methodName{…} 13. 下列方法定义中,不正确的是() [单选题] float x(int a,int b){return a-b;} int x(int a,int b){return a-b;} int x(int a,int b);{return a*b;}(正确答案) int x(int a,int b){return a*b;}

面向对象原理与Java实践复习题集(1)

面向对象原理与Java实践复习题集(1) 一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内) 1、final关键字不可以用来修饰(D)。 A.类B.成员方法C.成员变量D.接口 一、final关键字可以用来修饰类、方法、变量。各有不同。 A、修饰类(class)。 1、该类不能被继承。 2、类中的方法不会被覆盖,因此默认都是final的。 3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改 变,那么就设计成final类 B、修饰方法(method) 1、该方法可以被继承,但是不能被覆盖。 2、用途:一个类不允许子类覆盖该方法,则用final来修饰 3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调 用fianal方法转入内嵌机制,提高了执行效率。 4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final 型的(可以查看编译后的class文件) C、修饰变量(variable) 1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。 2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一 旦被赋值,将不能再被改变。 D、修饰参数(arguments) 1、用final修饰参数时,可以读取该参数,但是不能对其作出修改 二、final关键字不能用来抽象类和接口。 2、下面关于变量的说法,不正确的是(B)。 A.实例变量是类的成员变量 B.实例变量用关键字static声明 C.在方法中定义的局部变量在该方法被执行时创建 D.局部变量在使用前必须被初始化 3、Java实现动态多态性是通过(B)实现的。 A.重载B.覆盖C.接口D.抽象类(动物,懂?) 静态多态性指的是程序在编译时,系统就能决定调用哪个函数,如重载。 动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。 java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法 概念理解起来有点抽象。还是看个例子吧。 静态多态性: add(double a); add(double a,double b);

相关主题
文本预览
相关文档 最新文档