Java程序设计习题集(含答案)
- 格式:pdf
- 大小:227.23 KB
- 文档页数:32
目录一、判断题................................................. - 1 -二、选择题................................................. - 3 -三、填空题................................................ - 15 -四、写出下列程序完成的功能.................... 错误!未定义书签。
五、写出下面程序的运行结果.................... 错误!未定义书签。
六、使用Java语言编写程序................................. - 24 -七、简答题.................................... 错误!未定义书签。
Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F) 6.Final类中的属性和方法都必须被final修饰符修饰。
( F )(静态的必须被静态的修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。
(T )8.子类要调用父类的方法,必须使用super关键字。
( T )9.一个Java类可以有多个父类。
( F )10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。
( F )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
( T ) 12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
《JA V A程序设计》习题集及参考答案一、填空题1.Java是面向对象的解释型的高级编程语言,其程序源代码的扩展名为.java生成的字节码文件名的扩展名为.class,Java解释器把各种平台间的差异隐藏起来,这种由解释器包裹起来的完整的软硬件平台称为Java 虚拟机。
2.Java Application 是独立、完整的程序,在命令行调用独立的解释器软件(java.exe)即可运行,其程序主类必须有一个main()方法,完整的方法头为public static void main(String aegs[]) 。
3.把方法看作是数据的特性,而不把数据和方法分开,JA V A正是体现了这种建立面向对象系统过程中重要步骤的思想.。
4.建立类类型的变量(引用)后,系统只分配引用空间,程序员要调用new来创建对象实例,然后才分配相应的存储空间。
5.如果需要在同一类中书写多个方法,让它们对不同的变量进行同样的操作,就需要重载方法名。
如果子类中定义方法所用的名字、返回类型和参数表和父类中方法使用的完全一样,称子类方法覆盖了父类中的方法。
覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。
6.容器中组件的位置由容器的布局管理器决定,容器不仅可以容纳组件,还可以容纳其它容器这一点非常重要,由此可以设计出复杂的图形用户界面布局。
7.Java抽象窗口工具中提供了多种容器,其中最重要的两种是框架和面板。
8.JDK1.1引入了委托模型处理机制,组件必须注册一个事件处理程序,事件对象只传递给已经注册的监听程序,每种事件都有一个对应的监听程序类以实现相应的监听程序接口,并定义了事件对象的接收和处理方法。
9.异常处理的重要性在于,程序不但要发现异常,还要捕获异常并编写代码来处理10.类是同种对象集合的抽象,而属于类的某一个对象则被称为是类的一个实例,对象是具有状态、行为、标志三种属性的计算机软件结构。
11.用户自己定义的Applet子类是Java Applet的标志。
1、下列关于类的描述中,错误的是()。
A.可以将所有类成员的访问权限都设为私有权限B.类可认为是一种高级数据类型C.类包含数据成员和函数成员D.用类所定义出的变量称为对象正确答案:A2、下列关于重用代码的描述中,错误的是()。
A.函数是重用算法代码的语法形式B.类是一种数据类型,因此只能重用数据代码C.结构体类型是重用数据代码的语法形式D.类是同时重用算法代码和数据代码的语法形式正确答案:B3、关于程序开发过程中的程序员角色,下列哪种描述是错误的?A.一个程序员可以使用其他程序员提供的代码,即代码使用者B.一个程序员可以既是代码提供者,同时又是代码使用者C.一个程序员不能既是代码提供者,同时又是代码使用者D.一个程序员可以为其他程序员提供代码,即代码提供者正确答案:C4、关于程序设计方法,下列哪种描述是错误的?A.结构化程序设计分解出的函数是一种算法零件B.程序设计方法是研究如何对大型程序设计任务进行分解的方法C.结构化程序设计分解出的结构体类型是一种数据零件D.面向对象程序设计分解出的类是一种数据零件5、下列哪种思想不属于面向对象程序设计?A.继承B.模块化C.抽象D.封装正确答案:B6、下列关于类的描述中,错误的是()。
A.可以用流程图来描述类的设计B.类是描述客观事物的数据模型C.类的数据成员也被称作属性D.类的函数成员也被称作方法正确答案:A7、按照面向对象程序设计的观点,下列关于对象描述中错误的是()。
A.客观世界中的事物被称作客观对象B.类是描述客观对象的数据模型C.程序中用类定义出的对象被称作内存对象D.同一个类所定义出的两个内存对象可以有不同的成员正确答案:D8、关于面向对象程序设计方法,下列哪种描述是错误的?A.面向对象程序设计方法所设计出的类代码不能重用B.面向对象程序设计方法更便于代码分类管理C.面向对象程序设计方法中的类是客观事物抽象后的数据模型D.面向对象程序设计方法是当今程序设计的主流方法9、假设编写一个教务管理系统,通过分析可抽象出若干个类,其中不应当包括下列哪个类?A.宿舍类B.教师类C.课程类D.学生类正确答案:A10、如果将客观世界中的钟表抽象成一个钟表类,其中不应当包含下列哪个成员?A.设置时间B.显示时间C.功率D.时、分、秒正确答案:C11、下列关于字段成员的描述中,错误的是()。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
java程序设计试题及答案在这里,我将按照试题和答案的格式为您回复题目为“java程序设计试题及答案”的文章。
Java程序设计试题及答案一、选择题1. 下列关于Java程序设计语言的说法,正确的是()。
A. Java是编译执行的语言;B. Java程序只能运行在Windows操作系统上;C. Java程序可以在任何操作系统上运行;D. Java程序只能由JDK编译。
答案:C. Java程序可以在任何操作系统上运行。
2. 在Java程序中,用于接收用户输入的类是()。
A. Scanner;B. Integer;C. Double;D. String。
答案:A. Scanner。
3. 以下代码的输出结果是()。
```javaint x = 5;int y = 2;System.out.println(x / y);```A. 2.5;B. 2;C. 2.0;D. 2.50。
答案:B. 2。
二、填空题1. Java程序的入口函数是()。
答案:main。
2. 以下代码中,用于定义整型变量的关键字是()。
```java_____________ x = 10;```答案:int。
三、简答题1. 请简要解释Java程序的编译执行过程。
答案:Java程序的编译执行过程包括以下几个步骤:1) 编写Java源代码文件,以`.java`为扩展名;2) 使用JDK中的`javac`命令编译源代码文件,生成字节码文件,以`.class`为扩展名;3) 使用JDK中的`java`命令解释执行字节码文件。
2. 请简述Java中的面向对象编程特性。
答案:Java中的面向对象编程特性包括封装、继承和多态。
- 封装:将数据和操作数据的方法封装在一起,形成类的概念,隐藏内部实现细节;- 继承:通过继承机制,实现代码的重用和扩展性,子类可以继承父类的属性和方法;- 多态:通过多态性,同一类型的对象可以具有不同的行为,提高代码的灵活性和可扩展性。
一、单选题1、解释Java源文件,生成字节码文件所用到的命令A.cmd.exeB.java.exeC.javac.exeD.keytool.exe正确答案:C2、Java 源程序文件的后缀是A.cB.classC.txtD.java正确答案:D3、下列特点不是Java语言的特点A.跨平台B.安全性C.面向过程D.多线程正确答案:C4、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}该源代码保存的文件名为()A.Text.javaB.Text.classC.Text.java.txtD.Test.txt正确答案:A5、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}编译上述文件的命令为()A.java TestB.java Test.javaC.javac TestD.javac Test.java正确答案:D6、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}编译后生成的字节码文件名为()A.Test.class.txtB.Test.classC.Test.txtD.Test.java正确答案:B7、下面标识符正确的是A.hello worldB.DemoC.classD.123stu正确答案:B8、执行下面的语句后,a,b,c的值分别()int a=2;int b=(a++)*3;int c=(++a)*3A.4,6,12B.2,6,6C.3,9,9D.4,9,9正确答案:A9、下面的数据类型是float型的是()A.129B.8.6FC.33.8D.89l正确答案:B10、为一个boolean类型变量a赋值时,下列语句正确的是()A.boolean a="false";B.boolean a="真";C.boolean a=1;D.boolean a=(9>=10);正确答案:D11、以下标识符不合法的是()A.x3xB.de$fC.voidD.STRING正确答案:C12、int m=3,n=2,max=0;if(m>n){max=m;}else{max=n;}程序段执行后,max的值为()A.2B.3C.0D.1正确答案:B13、以下代码运行后,i的值和输出内容int i=2;if(i++==3){System.out.println("i==3");}A.i值为2,控制台输出i==3B.i值为2,控制台没有内容输出C.i值为3,控制台没有内容输出D.i值为3,控制台输出i==3正确答案:C14、switch(表达式) {case 值1:语句块1;break; case 值2:语句块2;break; case 值3:语句块3;break;……case 值n:语句块n;break; default:语句块n+1;}语句中“表达式”的类型不能为()A.浮点数类型B.字符串类型C.字符类型D.整数类型正确答案:A15、int i=10;while(i>0){i=i+1;if(i==10){break;}}A.循环一次都不执行B.while循环执行10次C.循环执行一次D.死循环正确答案:D16、如果有以下程序代码for(int i=1;i<10;i++){if(i==5){continue;}System.out.println("i=%d%n",i); }A.显示i=1到4,以及6到9B.显示i=1到9C.显示i=6到9D.显示i=1到4正确答案:A二、判断题1、Java中使用的是英文半角的字符正确答案:√2、可以将一个char类型赋值给int类型正确答案:√3、可以将一个double类型的值赋值给float类型的变量正确答案:×三、填空题1、Java字节码文件的后缀名字是()。
《Java程序设计》模拟练习一一.选择题(每题2分,共20分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(b )。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( a )。
A. 3B. 3. 5C. 4D. 53、下列哪种方法在Applet生命周期中只执行一次(a )A.init B.startC.stop D.run4、类Cycle的main()方法为:public static void main(String args[]){(args[0]);}则运行时如果命令行语句为java Cycle one two three,则输出结果为(b)A CycleB oneC twoD three5、下面哪一个是Thread类中的静态方法( d)A.start() B . stop()C . run()D . sleep(long m)6、关于下列语句哪个答案是正确的(a )A 不能编译成功B 可以编译成功,输出trueC 可以编译成功,但无输出D 以上均不对7、声明公用的abstract方法的正确格式是( c)A public abstract void add() {}B public abstract add();C public abstract void add();D public virtual add();8、下列程序结果正确的是(b )public class Test {public static void main (String args []) {Ad a1=new Ad();Ad a2=new Ad();}}class Ad{static int total = 10;public int add(int i){total=total+i;return total;}}A 11,12B 11,13C 11,11D 12,129、基于的一个程序中包含一个Panel,Panel其中包含一个Label,在Frame和Panel中分别有下面的一些语句://Frame里面的语句setFont( new Font(" Serif", Font. ITALIC, 18 );setBackground( Color. cyan );//Panel中的语句setBackground( Color. white );setForeground( Color. magenta );请问Label用什么颜色和字体显示(a)A. Background = white; foreground = magenta; font = Serif Italic style, 18 pointB. Background = cyan; foreground = black; font = Serif Italic style,18 pointC. Background = cyan; foreground = black; font = system default style for labelsD. Background = white; foreground = magenta; font = system default style for labels10、语句for(int x=0,y=0;(y!=0)&&(x<4);x++)的执行次数是( b )A 无限次B 一次也不执行C 执行4次D 执行3次二.简答题(每题4分,共20分)1. 对比分析Java与其它高级语言的编译和运行过程,说明Java具有平台独立性的原因?2.简述创建线程体的两种方式3.说明对象的基本概念和主要特征4.什么是JDBC5.方法重写和方法重载的特征分别是什么?举例说明三.判断题(每题1分,共10分)1.Java中的的字符使用的是16 位的Unicode 编码。
Java程序设计试题答案一、填空题1.(1)java.applet.Applet、(2) javax.swing.JApplet、(3)浏览器2.(1)HTML文件、(2)HTML文档中PARAM3.(1)Color、(2)13、(3)24、红(R)、绿(G)、蓝(B)、(4) 0~2554.(1)Java Applet中没有main()方法5.(1)void paint(Graphics g)方法、(2)void update(Graphics g)方法、(3) void repaint()方法6.(1)Font、(2)Font、(3)Font(String name,int style,int size)7.(1)public、(2)java8.(1)初始化init()、(2)开始执行start()、(3)停止执行stop()、(4)退出destroy()、(5)绘画paint()9.(1)InputStream、(2)OutputStream、(3)Reader、(4)Writer10.(1)输入流和输出流、(2)字节流和字符流二、判断题1.√2.√3.×4.√5.×6.×7.√8.√9.×10.√三、单选题1.A2.B3.B4.C5.C6.C7.B8.C9.C10.A四、简答题1.答:double s=0.0;For(int i=1;i<=10;i++)S=s+1.0/i;2.答:创建所需要的对象、都设置初始状态、装载图像、设置参数等。
3.答:先使用add()方法向容器添加组件,然后调用setBounds()方法设置组件在容器中的位置和组件本身的大小。
4.答:对话框分为强制型和非强制型,强制型对话框强制对话过程不能中断,非强制型对话框可以中断对话过程。
5.答:声明实现Runnable接口的类,在类内实现run()方法;并在类内声明线程对象,在init()方法或start()方法中创建新线程;并在start()方法中启动新线程。
Java 语言程序设计》测试卷一、选择题(每题2分,共30 分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A.javaB. classC. htmlD. exe2、不允许作为类及类成员的访问控制符的是( B )。
A. publicB. privateC. staticD. protected3、为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( A) 。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )4、声明为static的方法不能访问(C )类成员。
A•超类B•子类C•非static D.用户自定义类5、下面选项中,Java对类Welcome进行定义正确的是:(D)A.public class 1Welcome{ } B.public class We lcome{ }C.public class welcome { } D.public class Welcome { }6、若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是( C )。
A •它们的返回值类型的不同B•它们的名称的不同C.它们的参数列表的不同D.它们的修饰符不同7、定义主类的类头时可以使用的访问控制符是( C )。
A. privateB. protectedC. publicD.private protected8、下列方法定义中,正确的是(C )。
A.int x( ){ char ch='a' 。
return (int)ch。
}B.void x( ){ ...return true。
}C.int x( ){ ...return true。
java程序设计第三版答案Java程序设计第三版是一本广泛用于教学和自学的Java语言教材,由Y. Daniel Liang所著。
这本书涵盖了Java编程的基础知识和高级概念,包括数据类型、控制结构、类和对象、继承、接口、异常处理、集合框架、多线程、输入输出流、网络编程等。
以下是一些可能的练习题答案和解析,但请注意,具体答案可能因版本和题目的不同而有所差异。
第一章:Java入门练习题1:编写一个Java程序,打印出“Hello, World!”。
答案:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```解析:这个程序定义了一个名为`HelloWorld`的公共类,其中包含一个`main`方法,这是Java程序的入口点。
`System.out.println`用于在控制台打印文本。
第二章:数据类型、运算符和表达式练习题2:计算并打印出以下表达式的值:`(5 + 3.14) * 2 - 7 / 2`答案:```javapublic class ExpressionEvaluation {public static void main(String[] args) {double result = (5 + 3.14) * 2 - 7 / 2;System.out.println(result);}}```解析:在Java中,算术运算符的优先级是加法和减法低于乘法和除法。
因此,表达式首先计算括号内的加法和乘法,然后执行除法,最后进行减法。
第三章:控制语句练习题3:编写一个程序,使用for循环打印出1到10的整数。
答案:```javapublic class ForLoopExample {public static void main(String[] args) {for (int i = 1; i <= 10; i++) {System.out.println(i);}}}```解析:`for`循环由三个部分组成:初始化表达式、条件表达式和迭代表达式。
java程序设计期末考试试题汇总及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个是Java的合法标识符?A. 3thingsB. doubleC. _nameD. class答案:C3. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B4. Java程序中,哪个方法用于启动程序?A. main()B. start()C. run()D. execute()答案:A5. 下列哪个是Java的访问修饰符?A. publicB. staticC. voidD. int答案:A6. 下列哪个是Java的控制流语句?A. tryB. catchC. ifD. switch答案:C7. 在Java中,哪个关键字用于实现多态?A. newB. extendsC. implementsD. override答案:D8. Java中,哪个关键字用于定义一个枚举?A. enumB. structC. classD. interface答案:A9. 在Java中,哪个关键字用于定义一个包?A. packageB. importC. classD. interface答案:A10. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. All of the above答案:D二、简答题(每题5分,共30分)1. 简述Java语言的特点。
答案:Java是一种面向对象的编程语言,具有跨平台性、安全性高、健壮性、多线程等特点。
2. 什么是Java的垃圾回收机制?答案:Java的垃圾回收机制是指自动回收不再使用的对象所占用的内存,以防止内存泄漏。
3. 什么是Java的集合框架?答案:Java的集合框架是一组接口和类,用于存储和操作对象集合,如List、Set、Map等。
java程序设计试题及答案一、选择题(每题2分,共20分)1. 在Java中,下列哪个关键字用于定义类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B4. 在Java中,下列哪个选项不是合法的变量名?A. _nameB. $nameC. nameD. 2name答案:D5. 下列哪个选项不是Java的访问修饰符?A. publicB. protectedC. privateD. static答案:D6. Java中,下列哪个选项不是集合框架的一部分?A. ListB. SetC. MapD. Stream答案:D7. 在Java中,下列哪个关键字用于定义接口?A. classB. structC. interfaceD. enum答案:C8. 下列哪个选项不是Java的异常处理关键字?A. tryB. catchC. throwD. implements答案:D9. 在Java中,下列哪个选项不是线程的生命周期状态?A. NewB. RunnableC. BlockedD. Dead答案:C10. 下列哪个选项不是Java的泛型类型?A. ListB. SetC. MapD. Object答案:D二、填空题(每题2分,共20分)1. Java中的“Hello World”程序需要继承________类。
答案:Object2. Java中,一个方法的返回类型是________。
答案:void3. 在Java中,________关键字用于定义包。
答案:package4. Java中,________关键字用于定义接口。
答案:interface5. Java中,________关键字用于实现多态。
《JA V A程序设计》练习题一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. javaB. .classC. htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。
A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、关于选择结构下列哪个说法正确?( B )A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句6、while循环和do…while循环的区别是:( D)A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次7、关于for循环和while循环的说法哪个正确?( B)A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空8、下列修饰符中与访问控制无关的是( D)A.private B.publicC.protected D.final9、void的含义:( A)A.方法没有返回值B.方法体为空C.没有意义 D.定义方法时必须使用10、return语句:( C )A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象11、关于对象成员占用内存的说法哪个正确?( B)A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12、下列说法哪个正确?( C)A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D、属性必须是简单变量13、下列说法哪个正确?( A )A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14、关于方法main()的说法哪个正确?( C )A.方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15、构造函数何时被调用?( A )A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16、抽象方法:( C )A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17、关于继承的说法正确的是:( B )A、子类将继承父类所有的属性和方法。