Java期末复习题华广概念填空题(含答案)
Java试题答案(全)

一、选择题答案选择第1题B选择第2题A选择第3题C选择第4题B选择第5题A选择第6题A选择第7题B选择第8题C选择第9题B选择第10题B选择第11题C二、多项选择题答案多项选择第1题BD多项选择第2题AE多项选择第3题AC多项选择第4题AE多项选择第5题AE多项选择第6题DEF多项选择第7题AC多项选择第8题BC多项选择第9题AB多项选择第10题CD多项选择第11题CD多项选择第12题ACD多项选择第13题ABD三、填空题答案填空第1题x=10,a=3,b=4,c=5填空第2题java.util填空第3题(public )(static )(void)(main)(String args[])填空第4题1填空第5题26四、编程题答案1public class HelloWorld{public static void main(String args[]) {System.out.println("Hello,World!");}}import java.awt.Graphics;import java.applet.Applet;public class HelloWorld extends Applet{ String s;public void init(){s="Hello World!";}public void paint(Graphics g){g.drawString(s,25,25);}}2class yanghui{public static void main (String args[]) {int i,j;int yhlevel=10;int yanghui[][];System.out.println("杨晖三角形:");yanghui=new int[yhlevel][];for(i=0;i<yanghui.length;i++)yanghui[i]=new int[i+1];yanghui[0][0]=1;for (i=1; i<yanghui.length;i++){yanghui[i][0]=1;for(j=1;j<yanghui[i].length-1;j++)yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];yanghui[i][yanghui[i].length-1]=1;}for (i=0; i<yanghui.length;i++){for(j=0;j<yanghui[i].length;j++)System.out.print(yanghui[i][j]+" ");System.out.println();}}}输出结果是:杨晖三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 13import java.io.*;public class MemoController{FileOutputStream fos;OutputStreamWriter osw;BufferedWriter bw;public MemoController(){try{fos=new FileOutputStream("memo.txt",true);osw=new OutputStreamWriter(fos);bw=new BufferedWriter(osw);}catch(FileNotFoundException e){};}public synchronized void append(String s){try{bw.write(s,0,s.length());bw.flush();bw.close();osw.close();fos.close();}catch(IOException e){}}public static void main(String args[]){MemoController mmc=new MemoController();mmc.append("I am xubin ");}}4import java.io.*;class Phones{static FileOutputStream fos;public static final int lineLength = 81;public static void main(String args[]) throws IOException{byte[] phone = new byte[lineLength];byte[] name = new byte[lineLength];int I;try{fos = new FileOutputStream("phone.numbers");}catch(FileNotFoundException e){ }while (true){System.err.println("Enter a name (enter 'done' to quit)");readLine(name);if ("done".equalsIgnoreCase(new String(name,0,0,4))){break;}System.err.println("Enter the phone number");readLine(phone);for (int i=0;phone[i]!= 0;i++){fos.write(phone[i]);}fos.write(',');for (int i=0;name[i]!= 0;i++){fos.write(name[i]);}fos.write('\n');}fos.close();}private static void readLine(byte line[]) throws IOException {int i=0,b=0;while ((i<lineLength-1)&&((b=System.in.read())!='\n')){line[i++] = (byte)b;}line[i]=(byte) 0;}}。
java期末复习题库及答案

java期末复习题库及答案# Java期末复习题库及答案一、选择题1. Java是一种:- A. 编译型语言- B. 解释型语言- C. 汇编语言- D. 机器语言答案:B2. 下列哪个是Java的基本数据类型?- A. String- B. Integer- C. int- D. Object答案:C3. Java中的包是用来:- A. 存储图片- B. 组织类- C. 存储音频- D. 存储视频答案:B4. Java中,哪个关键字用于定义类?- A. class- B. function- C. struct- D. type答案:A5. 下列哪个是Java的异常处理关键字?- A. try- B. catch- C. finally- D. All of the above答案:D二、填空题6. Java是一种面向______的编程语言。
答案:对象7. Java的源代码文件扩展名是______。
答案:.java8. 在Java中,使用______关键字来声明变量。
答案:var9. Java中的main()方法是程序的______点。
答案:入口10. Java中的______关键字用于实现继承。
答案:extends三、简答题11. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理技术,它通过垃圾回收器定期检查不再被引用的对象,并将它们从内存中清除,从而防止内存泄漏。
12. 描述Java中接口和抽象类的区别。
答案:接口定义了一组方法规范,但不允许实现这些方法。
抽象类可以包含抽象方法和具体方法,并且可以被其他类继承。
接口不能有构造方法,而抽象类可以有。
13. 解释Java中的多态性。
答案:多态性是Java中的一个重要特性,允许将一个引用类型的变量指向多种实际类型的对象。
这意味着同一个接口可以被不同的对象以不同的方式实现,提高了代码的可复用性和灵活性。
四、编程题14. 编写一个Java程序,实现计算圆的面积。
java期末复习题含答案及详解

一、选择题(共20分)1.下列输出结果是()int a = 0 ;while ( a < 5 ) {switch(a){case 0:case 3 : a = a + 2;case 1 :case 2 : a = a + 3;default : a = a + 5; }}System.out.print ( a ) ;答案:10解析:由于每个case后面没有使用break结束循环,导致程序从上往下逐条运行。
2.被声明为private,protected及public的类成员,在类外部()A)只能访问到声明为protected和public的成员B)都可以访问C)只能访问声明为public的成员D)都不能访问答案:A解析:private只能被类内部访问,子类(未在父类内部)可以访问父类protected类型成员,其他类可以访问其public类型成员。
3.在Java语言中,下列关于类的继承的描述,正确的是()。
A)一个类可以继承多个父类B)一个类可以具有多个子类C)子类可以使用父类的所有方法D)子类一定比父类有更多的成员方法答案:B解析:A错,一个类只能有一个父类;C错,父类的私有方法就不可被子类访问并使用;D错,继承关系是对父类功能的扩展,根据实际情况完全可以只扩展1个功能,并不意味着成员方法比父类多。
4.类Teacher和Student都是类People的子类People p;Teacher t;Student s;若p,t和s都是非空值,并且new时声明的都是本类;if(t instanceof People) { s = (Student)t; }这个语句导致的结果是什么?()A) 表达式合法B) 编译时非法C) 将构造一个Student对象D) 编译时合法而在运行时可能非法答案:B解析:instanceof操作符用于判断左边的引用对象是否是右边的类,或者其子类、实现类的实例。
此题中的if语句的判断没有问题,将返回真。
期末java考试题及答案

期末java考试题及答案一、选择题1.下列关于Java的说法,哪个是正确的?A. Java是一种编译型语言B. Java是一种解释型语言C. Java是一种脚本语言D. Java是一种面向过程语言答案:A2.下列哪个选项是Java关键字?A. classB. stringC. functionD. if答案:A3.下列关于Java的说法,哪个是正确的?A. Java源代码必须先编译成字节码才能执行B. Java源代码可以直接执行C. Java源代码必须先翻译成机器码才能执行D. Java源代码必须先翻译成汇编代码才能执行答案:A二、填空题1.请写出Java中用于创建对象的关键字是 ___________ 。
答案:new2.请写出Java中用于定义一个类的关键字是 ___________ 。
答案:class三、简答题1.请简要解释Java中的封装性是什么意思。
答案:Java中的封装性是指将类的数据和方法封装在一起,对外部不可见,只提供公共的访问方式。
通过封装,可以隐藏类的内部实现细节,提供更加安全和可靠的类使用方式。
2.请简要解释Java中的继承性是什么意思。
答案:Java中的继承性是指一个类可以从另一个类继承属性和方法。
通过继承,可以实现代码复用和代码的层次化组织。
子类可以继承父类的公共属性和方法,并且可以自定义和扩展其功能。
四、编程题请编写一个Java程序,实现以下功能:1.定义一个名为"Circle"的类,具有半径和面积两个属性,并提供计算面积的方法。
2.在类的外部创建一个Circle对象,并设置其半径为5。
3.调用该对象的计算面积的方法,并将结果输出到控制台。
```java// Circle.javapublic class Circle {private double radius;public void setRadius(double r) {radius = r;}public double getArea() {return Math.PI * radius * radius;}}// Main.javapublic class Main {public static void main(String[] args) {Circle circle = new Circle();circle.setRadius(5);double area = circle.getArea();System.out.println("圆的面积为:" + area);}}```以上是期末Java考试题及答案的内容。
java期末考试题库及答案解析

java期末考试题库及答案解析Java期末考试题库及答案解析一、选择题1. Java语言属于以下哪种类型的编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个关键字用于定义Java类?A. classB. structC. interfaceD. enum答案:A3. Java中的main方法的返回类型是什么?A. voidB. intC. StringD. Object答案:B4. 以下哪个是Java的集合框架中的接口?A. ArrayListB. LinkedListC. SetD. HashMap答案:C5. Java中的异常处理机制使用哪个关键字来实现?A. tryB. catchC. finallyD. all of the above答案:D二、填空题1. Java语言是_________设计的,它具有跨平台的特性。
答案:James Gosling2. 在Java中,一个类可以继承另一个类的_______方法和变量。
答案:非私有3. Java的垃圾回收机制是用于_______内存的。
答案:自动管理4. Java中的_______关键字用于定义接口。
答案:interface5. Java中的_______关键字用于实现多态。
答案:override三、简答题1. 请简述Java语言的三大特性。
答案:Java语言的三大特性包括:面向对象、跨平台和网络编程。
2. 什么是Java的封装性,它有什么好处?答案:封装性是Java面向对象编程的核心概念之一,它允许将数据(属性)和操作数据的方法组合在一起,形成一个“对象”。
封装的好处包括数据隐藏、安全性提高和易于维护。
3. 请解释Java中的继承机制,并举例说明。
答案:Java中的继承机制允许一个类(子类)继承另一个类(父类)的属性和方法。
这使得代码复用变得简单,并且可以创建层次结构。
例如,一个名为“Animal”的类可以被“Dog”类继承,后者可以继承“Animal”的所有属性和方法,同时也可以添加自己的特定属性和方法。
java期末考试试题及答案

java期末考试试题及答案Java期末考试试题及答案Java作为一门广泛应用于软件开发领域的编程语言,其在计算机科学教育中扮演着重要的角色。
期末考试是对学生在整个学期所学知识的综合考察,下面将给出一些可能出现在Java期末考试中的试题及其答案,供同学们参考。
一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. voidC. intD. public答案:A2. 下面哪个选项是Java中的基本数据类型?A. StringB. IntegerC. BooleanD. Array答案:C3. 在Java中,以下哪个关键字用于声明一个方法?A. methodB. voidC. intD. public答案:B4. 下面哪个选项是Java中的循环结构?A. if-elseB. switch-caseC. forD. try-catch答案:C5. 在Java中,以下哪个关键字用于创建一个对象?A. newB. voidC. intD. public答案:A二、填空题1. 在Java中,用于接收用户输入的类是_________。
答案:Scanner2. 在Java中,用于将字符串转换为整数的方法是_________。
答案:parseInt3. 在Java中,用于将一个对象转换为字符串的方法是_________。
答案:toString4. 在Java中,用于终止当前循环并开始下一次循环的关键字是_________。
答案:continue5. 在Java中,用于抛出一个异常的关键字是_________。
答案:throw三、编程题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算斐波那契数列的第n个数。
大学java期末考试试题填空

大学java期末考试试题填空### 大学Java期末考试试题#### 一、填空题(每空2分,共20分)1. Java是一种面向______的编程语言,它支持______和多继承的特性。
- 答案:对象;单一继承2. Java程序的执行开始于`main`方法,该方法必须声明为`public static void`,并且方法名为`______`。
- 答案:main3. 在Java中,`int`类型变量默认初始化的值是______。
- 答案:04. Java中的`String`类是不可变的,这意味着一旦创建了一个`String`对象,就不能改变它的值。
如果需要修改字符串,实际上是在创建一个新的`String`对象。
这种特性也被称为`______`。
- 答案:不可变性(Immutability)5. 异常处理是Java程序中处理错误的一种机制,它通过使用`try`、`catch`和`finally`块来实现。
其中,`try`块用于包含可能抛出异常的代码,`catch`块用于捕获并处理异常,而`finally`块则用于执行无论是否发生异常都会执行的代码。
如果`try`块中的代码没有抛出异常,则`finally`块会在方法返回之前执行,但`catch`块将______。
- 答案:不会被执行6. Java集合框架中的`List`接口是一个有序的集合,允许重复的元素。
而`Set`接口是一个不允许重复元素的集合,且元素是______的。
- 答案:无序7. Java中的`HashMap`实现`Map`接口,它基于哈希表的映射接口,允许空键和空值。
`HashMap`不是同步的,并且不是线程安全的。
如果需要线程安全的`HashMap`,可以使用`Collections.synchronizedMap`方法包装一个`HashMap`对象,或者使用`______`。
- 答案:`ConcurrentHashMap`8. Java中的`for-each`循环是一种增强的循环结构,它允许遍历数组和实现了`Iterable`接口的集合。
java期末考试题试题库及答案

java期末考试题试题库及答案一、选择题1. Java语言是一种:A. 编译型语言B. 解释型语言C. 编译解释型语言D. 汇编语言答案:C2. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. abstractD. package答案:B3. 在Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Main答案:A4. Java中的线程同步机制是通过哪个关键字实现的?A. synchronizedB. volatileC. finalD. static答案:A5. 下列哪个不是Java集合框架中的一部分?A. ListB. SetC. MapD. Queue答案:D二、填空题6. Java语言的跨平台特性主要得益于______机制。
答案:JVM(Java虚拟机)7. 在Java中,______关键字用于定义一个方法不能被重写。
答案:final8. Java的异常处理机制中,______类是所有异常的超类。
答案:Throwable9. Java中的______关键字用于声明一个变量,其值在初始化后不能被改变。
答案:final10. 一个Java程序的入口点是______方法。
答案:main三、简答题11. 简述Java中接口和抽象类的区别。
答案:接口定义了一组方法规范,不包含实现,可以被任何类实现,而抽象类可以包含方法实现,并且可以被其他类继承。
接口不能有构造方法,而抽象类可以有。
接口中的方法默认是public和abstract的,而抽象类中可以有public、private等访问修饰符。
12. 描述Java中异常处理的机制。
答案:Java的异常处理机制包括try、catch、finally和throw 关键字。
try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于执行无论是否发生异常都需要执行的代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java判断和概念填空题一、判断题基本概念与Java语言基础1.Java语言具有较好的安全性和可移植性及与平台无关等特性。
(√)2.Java语言的源程序不是编译型的,而是编译解释型的。
(√)3.Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。
(√)4.Java程序中不区分大小写字母。
(×)5.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。
(√)6.System类中的println()方法分行显示信息,而print()方法不分行显示信息。
(√)7.当前路径的标识是“.”。
(√)8.java命令不区分大小写,而javac命令区分大小写。
(×)9.printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到Pri ntStream类型的输出流(System.out对象)中。
(√)10.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。
(×)11.Java语言使用的是Unicode字符集,每个字符在内存中占8位。
(×)12.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。
(√)13.所有的变量在使用前都必须进行初始化。
(×)14.已知byte i = (byte)127; i = i +1;这两个语句能被成功编译。
(√)15.String str="abcdefghi"; char chr=str.charAt(9); (×)16.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; c har chr=chrArray [6]; (√)17.int intArray[]={0,2,4,6,8}; int length=int Array.length();(×)18.String str="abcedf"; int length=str.length; (×)19.说明或声明数组时不分配内存大小,创建数组时分配内存大小。
(√)20.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。
(√)面向对象应用1.类是一种类型,也是对象的模板。
(√)2.类中说明的方法可以定义在类体外。
(×)3.实例方法中不能引用类变量。
(×)4.创建对象时系统将调用适当的构造方法给对象初始化。
(√)5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。
(√)6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。
(√)7.对象可作方法参数,对象数组不能作方法参数。
(×)8.class是定义类的惟一关键字。
(√)9.Java语言会自动回收内存中的垃圾。
(√)10.Java语言中,构造方法是不可以继承的。
(√)11.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。
(×)12.抽象方法是一种只有说明而无具体实现的方法。
(√)13.Java语言中,所创建的子类都应有一个父类。
(√)14.调用this 或super构造方法的语句必须放在第一条语句。
(√)15.一个类可以实现多个接口,接口可以实现“多重继承”。
(√)16.实现接口的类不能是抽象类。
(√)17.使用构造方法只能给实例成员变量赋初值。
(√)18.Java 语言不允许同时继承一个类并实现一个接口。
(×)其他知识1.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
(×)2.在Swing用户界面的程序设计中,容器可以被添加到其他容器中去。
(√)3.使用BorderLayout布局管理器时,GUI组件可以按任何顺序添加到面板上。
(√)4.每个事件类对应一个事件监听器接口,每一个监听器接口都有相对应的适配器。
(×)5.Java中,并非每个事件类都只对应一个事件。
(√)6.Applet可以运行在浏览器中。
(√)7.Applet的两个方法getCodeBase( )和getDocumentBase( )的返回值都是URL类的对象,且二者返回的都是相同的URL地址。
(×)8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√)9.捕获异常try语句后面通常跟有一个或多个catch()方法用来处理try块内生成的异常事件。
(√)10.使用try-catch-finally语句只能捕获一个异常。
(×)11.Error类所定义的异常是无法捕获的。
(√)12.IOException异常是非运行时异常,必须在程序中抛弃或捕获。
(√)13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
(√)14.一个Java多线程的程序不论在什么计算机上运行,其结果始终是一样的。
(×)15.Java线程有五种不同的状态,这五种状态中的任何两种状态之间都可以相互转换。
(×)16.Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。
每个Java线程的优先级都在常数1和10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之间。
如果没有明确地设置线程的优先级别,每个线程的优先级都为常数8。
(×)17.当线程类所定义的run( )方法执行完毕,线程的运行就会终止。
(√)18.线程的启动是通过引用其start()方法而实现的。
(√)19.文件缓冲流的作用是提高文件的读/写效率。
(√)20.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出S ystem.out和标准错误输出System.err。
(√)二、概念填空1. Java语言是纯面向对象的程序设计语言。
(p3)2. Java既是编译型又是解释型语言,编译成的字节码文件由Java虚拟机在不同操作系统上解释执行。
(p3)3. 运行环境负责装载用户自定义的类(分为从本地装载和从网络装载两种)和Java API类,最重要的是含有JVM(Java Virtual Machine),它是一个平台软件,负责将字节码解释成机器码并提交操作系统执行。
(p4)4. 如果在一台计算机上安装了JDK ,则自动安装了对应版本的JRE 。
(p4)5. 如果在一个源程序中定义了多个类,则其中只能有一个公共类(public修饰),公共类的名称必须与文件名称保持拼写和大小写一致。
(p5)6. Java标识符由字母、数字、下划线(_)或美元符号($)组成。
(p10)7. String一般作为字符串类型理解,但是从本质上讲,它是一个类而非简单的数据类型。
(p11)8. 基本数据类型int对应的包装类是Integer 。
(p15,表2.6)9. 基本数据类型不是对象,在一些场合不能直接使用,需要转化为对应的包装类对象才能继续使用。
(p16)10. 包装类Integer的静态方法可以将字符串类型的数字”123”转换成整数类型。
其形式如:int a=Intrger.parseInt(“123”)。
(p16)11. Double.POSITIVE_INFINITY 表示正无穷大。
(p16)12. Java语言中,7.7%3== 1.7 。
(p17)13. 多分支语句switch(…)括号中的表达式的返回值类型只能是下列类型之一,这些类型是:byte、short、int、char 。
(p23)14. 一维数组在声明时,[ ]里必须为空,但在使用new运算符进行创建的时候,[ ]里必须指明数组的长度,只有这样系统才能知道该给此数组分配多少内存。
(p28-29)15. 抽象是从被研究对象中舍弃个别的、非本质的或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对研究问题正确、简明扼要的认识。
(p38)16. Java语言中,定义类用的关键字是class 。
(p )17. 对象是对客观事物的抽象,类是对对象的抽象。
(p38)18. 类也是一种数据类型,跟普通的数据类型相比,它是一种抽象的数据类型。
(p38)19. 对象是类的实例,类是对象的模板。
(p38)20. 面向对象程序设计将事物的共同性质抽象出来,使用数据和方法描述对象的状态和行为。
21. 一个对象可以被认为是一个把数据(属性)和方法(行为)封装在一起的实体,其中对象的属性通过数据反映了对象当前的状态,对象的行为通过方法实现对象能够进行的操作。
22. 对象的共性抽象为类,类的实例化就是对象。
23. 方法中的形式参数和定义的局部变量的作用域仅限于方法,局部变量在使用前必须进行初始化赋值。
(p40)24. 构造方法的方法名与类名相同,并且是类的方法,不能通过对象引用来调用。
(p47)25. 构造方法也具有多态性。
(p48)26. 如果类中定义了构造方法,则Java 不再提供默认的构造方法。
(p48)27. 构造方法是一个特殊的方法,用于创建一个类的实例。
(p )28 当构造方法中的参数名与域变量名相同时,此时在构造方法中需要用this 关键字来区分域变量名与参数名。
(p48)29. 用static修饰符修饰的数据成员是不属于任何一个类的具体对象,而专属于类,是其静态数据成员。
它被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中。
(p50)30. static方法是类方法,不属于类的任何对象,但可以被类的所有对象访问。
不用static修饰符限定的方法,虽然在类中定义,但其实是为对象而定义。
(p51)31. Java中类的继承是为了反映现实世界中事物之间的联系。
32. Java语言中,定义子类时,使用关键字extends 来给出父类名。
(B12)33. 子类可以重写继承过来的父类的方法体,这种做法叫覆盖。
(p71)34. 子类方法覆盖父类方法,子类的访问修饰符权限应等于或大于父类。
(p72)35. 抽象类中如果存在抽象方法,则具体子类必须对抽象方法进行覆盖。
(p73)36. 子类的数据成员或成员方法与父类的数据成员或成员方法名字相同时,当要调用父类的同名方法或同名数据成员时则可用super 来指明。
(p75)37. 使用关键字this来调用同类的其它构造方法,优点同样是以最大限度地提高对已有代码的利用程度,减少程序的维护工作量。